Android プロジェクトで Guava を使用しています。Gradle ビルドに失敗する 65k メソッドの制限に達しています。これは、proguard を使用することで解決できることがわかりました。リリース ビルドで Proguard を実行すると、正常に動作します。デバッグが難しくなるため、デバッグビルドでproguardを実行したくありません。これを解決する方法があるかどうか疑問に思っていましたか?私が検討している 1 つのオプションは、ローカルの guava.jar をビルドし、それを Maven Central からプルする代わりに依存関係として定義することです。これを行うより良い方法はありますか?
1501 次
2 に答える
1
最新の Android ビルド ツールは、MultiDex オプションをサポートしています。これにより、65,000 を超えるメソッドを使用してアプリを構築できます。公式ガイドに従ってください。
また、ProGuard と一緒に自動リソース縮小を有効にすることもできます。
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
于 2015-03-11T05:31:33.833 に答える
0
Guavaの公式ドキュメントによると、以下を使用できます。
-injars path/to/myapplication.jar
-injars lib/guava-r07.jar
-libraryjars lib/jsr305.jar
-outjars myapplication-dist.jar
-dontoptimize
-dontobfuscate
-dontwarn sun.misc.Unsafe
-dontwarn com.google.common.collect.MinMaxPriorityQueue
-keepclasseswithmembers public class * {
public static void main(java.lang.String[]);
}
これにより、難読化せずに同じ名前のメソッドが保持されます。適切な名前をすべてそのまま記述して、適切にデバッグできることを意味します。
于 2015-03-11T09:52:44.040 に答える