Android studioを使用して、デバッグおよびリリースアプリケーションをビルドしています。デバッグ/リリースアプリケーションをビルドするとき
./gradlew assembleDebug
./gradlew assembleRelease
両方のビルドが完全に作成され、同様に実行されます。デバッグまたはリリース用の適切なダイアログボックスを表示します
今、私はbuild.gradleにプロガードの詳細を追加しました:
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 ):Flash Sales:proguardDefaultFlavorRelease FAILED
RunProguardオプションをfalseにすると、実行されます。
これらの質問があります:
1)runProguard = falseでapkをリリースしても大丈夫ですか?
2)リリースビルドの作成中にdontwarnを使用する方法は?
私がプロジェクトに新しいライブラリを追加するとき、一般に、この方法をProgaurdに定義する必要があります。
Twitter4J libを使用していて、この方法でdontwarnを追加するとします。
-Twitter4jクラスを保持します。** {*; }
-dontwarn Twitter4j。*
-dontwarn行をproguard-rules.proまたはproguard-rules.txtファイルに入れます。
回答にはこの情報が含まれていないため、他の場所でこれをグーグルで検索する必要がありました。ケースに必要な特定の行については、他の回答を確認してください。