2016-12-29 13 views
1

AndroidアプリケーションのAPKを生成しましたが、問題はありませんでしたが、APKが正しく生成されました。エラー:APKを生成中に ':app:transformClassesAndResourcesWithProguardForRelease'タスクの実行に失敗しました

今、私はbuild.gradleファイルの私のreleaseブロックに次の行を使用したので、APKを生成している間に私のコードを難読化したいと思います。警告の多くの

Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'. java.io.IOException: Please correct the above warnings first.

minifyEnabled true 

問題は、今では私に次のエラーをスローしていることです。もっと正確に言うと、1018の警告。

それらのほとんどは、のようなものです:

Warning:com.itextpdf.text.pdf.security.PdfPKCS7: can't find referenced class org.spongycastle.asn1.tsp.MessageImprint

または

Warning:com.github.mikephil.charting.data.realm.base.RealmBaseDataSet: can't find referenced class io.realm.Sort

は常に同じエラーです。参照されるクラスを見つけることができないクラス。

MPAndroidChart私はそれが(警告に表示されるパッケージの名前のために)何か関連していると思いますが、私はこれらの警告を修正することができません。

EDIT:私のproguard-rules.proファイルに

-keep public class com.itextpdf.text.pdf.** 

を私はまだ同じ警告を持っている:証明としては、私が使用してクラスを維持しようとしています。 build.gradleファイルの

マイreleaseセクションでは、次のとおりです。

release { 
    minifyEnabled true 
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
} 

は私のコードを難読化しながら、私は何かが足りないのですか?

ありがとうございます!

+0

(http://stackoverflow.com/questions/33589318/error-building-apk-when-minifyenabled-true)[これをチェック] –

+0

@VygintasB私は '-dontwarn'が安全だろうとは思いませんオプション。私は公共クラスの '-keep'を使用しようとしていますが、動作させることができません。 –

答えて

2

最後に、私はMPAndroidChartdocumentがあり、Proguardの設定方法を説明しています。以下のような構成により

は:

-keep class com.github.mikephil.charting.** { *; } 
-dontwarn io.realm.** 

私は警告なしに難読化のAPKを作成することができました。

また、itextpdfは私が以前使用していたライブラリでしたが、現在は必要ないので、私のgradleファイルの依存関係から削除する必要があり、警告も消えてしまっています。

1

apk生成中にこの問題の解決策が見つかりました。

appのbuild.gradleを開いて、次のようにビルドタイプを変更します。

buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt') 
    } 
} 
関連する問題