неожиданная ошибка Proguard после добавления Admob

В последний день я добавил admob в свой проект и добавил параметры proguard в соответствии с документом, предоставленным Admob внутри файла. Наш admob находится в другой папке проекта библиотеки, которая является общей и общей для наших 25 других проектов. Мы сделали это, чтобы он легко изменить внутри одного проекта и просто экспортировать с необходимыми деталями. Службы Google Play снова вызываются внутри этого проекта библиотеки. при экспорте мы получаем ошибку ниже

[2015-11-28 10:59:45 - AppName] Dx Uncaught translation error: com.android.dx.cf.code.SimException: local 0000: invalid
[2015-11-28 10:59:45 - AppName] Dx 1 error; aborting
[2015-11-28 10:59:45 - AppName] Conversion to Dalvik format failed with error 1

Ниже показано, как выглядит наш прогард.

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-ignorewarnings

-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

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

-keep public class com.google.ads.** { public *; }


-keep class com.vungle.** { public *; }
-keep class javax.inject.*
-keepattributes *Annotation*
-keepattributes Signature
-keep class dagger.*

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
}


-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class * extends android.preference.PreferenceActivity {
    public void settings_activity(android.preference.PreferenceActivity );
}

Почему это происходит?


person unitedartinc    schedule 28.11.2015    source источник
comment
code.google.com/p/android/issues/detail?id= 175971   -  person SteelBytes    schedule 12.12.2015


Ответы (1)


Это проблема с Play Services.

В настоящее время сообщается здесь https://code.google.com/p/android/issues/detail?id=187483 и будет исправлено в следующем выпуске.

В этом потоке также есть некоторые возможные решения проблемы:

  1. Перекомпилируйте внешние библиотеки с используемой вами версией Play Services.
  2. Отключить обфускацию
person neteinstein    schedule 04.04.2016