まめージェント

Android, GAE, AngularJSの技術ネタ中心。Twitter: @mame01112

SQLCipher利用時のProguardについて

AndroidでProguardを使うときは、基本的にproject.propertiesの
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
のコメントを外し、Eclipseであればプロジェクトを選択し、
Android Tools > Export Signed Application Packageからリリースすれば、
OKかと思います。

が、今回のアプリはDBを持っていてSQLCipher
(https://www.zetetic.net/sqlcipher/)を使っており、
ここで多少手間が必要だったので、備忘録として書いておきたいと思います。

どうやらSQLCipherがCuavaというライブラリに依存しているようで、
://mvnrepository.com/artifact/com.google.code.findbugs/jsr305
からjsr305.jarをダウンロードし、プロジェクトのlibフォルダにおきます。

そして、proguard-project.txtに

-libraryjars libs/jsr305-1.3.9.jar
-libraryjars libs/guava-r09.jar

を記載します。

さらに、僕の場合はsun.misc.UnsafeとApacheも怒られたので、

-keepclassmembers class * {
     @com.google.api.client.util.Key <fields>;
}
-dontwarn sun.misc.Unsafe
-dontwarn org.apache.**

も追加して、これでOK。