0

65K メソッド数の制限に近いアプリがあります。現在、難読化なしで Proguard を使用しています

# This is a configuration (rules) file for ProGuard.
-dontobfuscate
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers

# Dex does not like code run through the ProGuard optimize and preverify steps
# (and performs some of these optimizations on its own).
-dontpreverify
-dontoptimize
-verbose

# Only run ProGuard shrinking against Google Play Services (package = com.google.android.gms.*)
-keep class !com.google.** (also tried !com.google.android.** / !com.google.android.gms.**)
-dontwarn !com.google.** (also tried !com.google.android.** / !com.google.android.gms.**)

依存関係で未使用のメソッドを削除するには:

compile 'com.google.android.gms:play-services-base:7.5.0'
compile 'com.google.android.gms:play-services-location:7.5.0'
compile 'com.google.android.gms:play-services-ads:7.5.0'
compile 'com.google.android.gms:play-services-gcm:7.5.0'
compile 'com.google.android.gms:play-services-identity:7.5.0'

ただし、 $ ./gradlew assemble を実行すると、次のエラーが発生します。

:proguardGoogleDebug
Warning: com.google.android.gms.internal.zzig: can't find referenced method 'boolean isAttachedToWindow()' in program class com.google.android.gms.internal.zzig
Warning: there were 1 unresolved references to program class members.
         Your input classes appear to be inconsistent.
         You may need to recompile the code.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember)
:proguardGoogleDebug FAILED
FAILURE: Build failed with an exception.

以前にこの問題をトラブルシューティングした人はいますか? 前もって感謝します。

4

1 に答える 1

1

compileSDK が 19 以上であることを確認してください。View#isAttachedToWindow は 19 で追加されました。

于 2015-06-03T20:39:01.277 に答える