2

Android プロジェクトで Guava を使用しています。Gradle ビルドに失敗する 65k メソッドの制限に達しています。これは、proguard を使用することで解決できることがわかりました。リリース ビルドで Proguard を実行すると、正常に動作します。デバッグが難しくなるため、デバッグビルドでproguardを実行したくありません。これを解決する方法があるかどうか疑問に思っていましたか?私が検討している 1 つのオプションは、ローカルの guava.jar をビルドし、それを Maven Central からプルする代わりに依存関係として定義することです。これを行うより良い方法はありますか?

4

2 に答える 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 に答える