2015-03-19 3 views
1

После обновления поддержки v13 lib и google_play в моем проекте у меня возникла проблема с proguard. Я искал вокруг, но не нашел решение этой ошибки:Android, gradle, ошибка Proguard при вычислении размеров стека:

Unexpected error while computing stack sizes: 
Class  = [com/google/android/gms/tagmanager/as] 
Method  = [run()V] 
Exception = [java.lang.IllegalArgumentException] (Stack size becomes negative after instruction [35] pop in [com/google/android/gms/tagmanager/as.run()V]) 
:xxxxx:proguardReleaseclean FAILED 

Версия ProGuard является 4,7

В build.gradle:

dependencies { 
    compile 'com.android.support:support-v13:22.0.+' 
    compile 'com.google.android.gms:play-services-maps:6.5.87' 
    compile files('libs/gson-2.2.4.jar') 
} 
android { 
    compileSdkVersion 19 
    buildToolsVersion '20.0.0' 
} 

В ProGuard Cfg (после добавления -dontwarn для поддержки v4 и gms)

-keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
} 

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
} 

-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
} 

-keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
} 

-dontwarn android.support.v4.** 
-dontwarn android.support.v13.** 
-dontwarn com.google.android.gms.** 

-keep class android.support.v13.app.** { *; } 
-keep interface android.support.v13.app.** { *; } 
-keep class android.support.v4.app.** { *; } 
-keep interface android.support.v4.app.** { *; } 

Я сделал попробуйте много вещей без успеха.

Любой намек был бы замечательным !! Thanks

+1

Я нашел причину, в моем ProGuard я также удалить все вызов Log.x (.....), что и было причиной неудачи. Комментируя это ** - предположительно, выдает класс android.util.Log {*; } ** в конфигурации ошибка ушла – francky

ответ

1

попробуйте добавить «-dontoptimize» в progard.

Если не работает добавить код следующим образом:

-dontshrink 
-dontoptimize 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontskipnonpubliclibraryclassmembers 
-dontpreverify 
+0

что-то подобное произошло со мной, и '-dontoptimize' исправил это. благодаря! –

Смежные вопросы