ошибка конфигурации pro-guard при создании APK - PullRequest
0 голосов
/ 23 апреля 2019

Получение этой ошибки при применении pro-guard

Unexpected error while performing partial evaluation:
  Class       = [com/google/android/gms/ads/AdLoader$Builder]
  Method      = [forPublisherAdView(Lcom/google/android/gms/ads/formats/OnPublisherAdViewLoadedListener;[Lcom/google/android/gms/ads/AdSize;)Lcom/google/android/gms/ads/AdLoader$Builder;]
  Exception   = [java.lang.IllegalArgumentException] (Can't find common super class of [com/google/android/gms/internal/zzko] (with 1 known super classes) and [android/os/RemoteException] (with 5 known super classes))
Unexpected error while preverifying:
  Class       = [com/google/android/gms/ads/AdLoader$Builder]
  Method      = [forPublisherAdView(Lcom/google/android/gms/ads/formats/OnPublisherAdViewLoadedListener;[Lcom/google/android/gms/ads/AdSize;)Lcom/google/android/gms/ads/AdLoader$Builder;]
  Exception   = [java.lang.IllegalArgumentException] (Can't find common super class of [com/google/android/gms/internal/zzko] (with 1 known super classes) and [android/os/RemoteException] (with 5 known super classes))

При создании подписанного apk.Я проверил некоторые вопросы и ответы, но это действительно помогает.

proguard-rules.pro

-ignorewarnings

-keep class * {
    public private *;
}

-keep class com.google.android.gms.internal.** { *; }
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-keep class com.facebook.ads.** { *; }

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Я получил решение.

После применения pro-guard он не показывал мне точную ошибку, но после больших усилий он показывает фактическую ошибку, и если удалить pro-guard, то ошибки не было.

Эта ошибка произошла из-за некоторых пропущенных ресурсов , так как во время сборки, я думаю, она берет из кэша.

0 голосов
/ 24 апреля 2019

Правило конфигурации с includedescriptorclasses должно сохранить его:

-keep,includedescriptorclasses class com.google.android.gms.** { *; }
-keep,includedescriptorclasses class com.google.android.gms.internal.** { *; }
-keep,includedescriptorclasses class com.google.android.gms.ads.** { *; }

При сохранении private методов опровергает идею запутывания:

-keep class * {public private *;}
...