2015年3月29日日曜日

proguard dontwarn

proguard dontwarn

下記の趣旨のエラーが出た。
Warning: com.google.common.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: there were 21 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
:proguardRelease FAILED

対処方法
次の1行だけを記述したテキストファイルを適当なファイル名(ここでは'my_proguard-project.txt')で、(ルートでは無く)モジュール側のフォルダーに作成する。
-dontwarn sun.misc.Unsafe

(ルートでは無く)モジュール側のbuild.gradleファイルに次のように書く。
    buildTypes{
        release{
            minifyEnabled true//プロガードを実行する
            proguardFile getDefaultProguardFile('proguard-android.txt')
            proguardFile file('my_proguard-project.txt')
        }
getDefaultProguardFile()は${sdk.dir}/tools/proguard/proguard-android.txtを自動的に読み込む。
my_proguard-project.txtは、このプロジェクトのモジュール固有のproguard設定です。
ちなみに、デフォルトでは、minifyEnabledはfalseです。

(参考)Android Tools Project Site

0 件のコメント:

コメントを投稿