私はアンドロイドスタジオを使ってデバッグとリリースアプリケーションをビルドしています。 私は、デバッグ/リリースアプリケーションProGuardで-dontwarnを使用するには?
./gradlew assembleDebug
./gradlew assembleRelease
を構築する場合、両方のビルドが完全に作成し、同様に実行されます。デバッグのために適切なダイアログボックスを表示したりbuild.gradleに
今私が追加したProGuardの詳細をリリース:
signingConfigs {
myConfig {
storeFile file("keystore.jks")
storePassword "abc123!"
keyAlias "androidreleasekey"
keyPassword "pqrs123!"
}
}
buildTypes {
release {
runProguard true
proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
signingConfig signingConfigs.myConfig
}
}
productFlavors {
defaultFlavor {
proguardFile 'proguard-rules.txt'
}
}
今では
としてイベントログにエラー警告を示しています。未解決の7がありましたクラスまたはインタフェースへの参照 不足しているライブラリのjarファイルを追加したり、バージョンを更新する必要があります。 クラスがなくてもコードが正常に動作する場合は、 の警告を '-dontwarn'オプションで抑制することができます。 (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
警告:プログラムクラスメンバーには2つの未解決の参照がありました。 入力クラスが矛盾しているようです。 コードを再コンパイルする必要があります。
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember) :フラッシュセールス:私は、falseにrunProguardオプションの実行を有効にした場合proguardDefaultFlavorReleaseが
に失敗しました。
1)それは偽runProguard =でAPKを解放するためにokです:
私はこれらの質問がありますか?2)リリースビルドの作成中にdontwarnを使用するにはどうすればよいですか?
は完全な誤りがログインしますか?実際の7 + 2の未解決の参照を省略したようです。 '-dontwarn'の使用は非常に簡単です。これは例です:http://stackoverflow.com/questions/6974231/proguard-hell-cant-find-referenced-class – Jonik
あなたの質問1)に関しては、(Google Playなどへの)実際のリリースビルドについては、 ProGuardを使用してください。 (ただし、あなたのアプリがリバースエンジニアリングしやすいと気にしないなら、必須ではありません。)ProGuardを使い、あなたが得ているエラーを解決することを学ぶのに1時間から2時間かかることは間違いありません。 – Jonik
迅速な対応をありがとう。 dontwarnをproguard-rules.txtに追加すると、 ビルドが正常に作成されました。 jcifs.http.NetworkExplorer:jcifs.http:スーパークラスまたはインタフェースjavax.servlet.http.HttpServlet 警告を見つけることができません は、今私は は、私が 警告として参照警告を得ていたもう一つ質問があります。NtlmHttpFilter:私は 方法1を使用する場合、スーパークラスやインターフェイスは、javax.servlet.Filter を見つけることができません:。-dontwarnのjavax.servletを** またはこの 方法2:-dontwarn jcifs.http ** ビルドが正常に完了しました。 どちらの方が優先されるべきですか?この2つの違いは何ですか? – morya