2016-03-27 46 views
2

不幸的是XX已停止。minifyEnabled true导致应用程序启动时崩溃

我,只要我开始我的生产应用程序,当我设置

buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

我没有任何其他的ProGuard规则收到此消息(导致没有图书馆表示,它是必要的)。

我的依赖关系是这样的:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.loopj.android:android-async-http:1.4.9' 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.android.support:design:23.1.1' 
    compile 'com.google.android.gms:play-services-gcm:8.4.0' 
    compile 'com.google.android.gms:play-services-ads:8.4.0' 
    compile 'me.leolin:ShortcutBadger:[email protected]' 
    compile 'com.facebook.android:facebook-android-sdk:4.+' 
    compile 'com.jraska:falcon:1.0.0' 
} 

我想什么是添加

-keep class com.loopj.** {*;} 
-keep class com.jraska.** {*;} 
-keep class me.leolin.** {*;} 
-keep class com.android.** {*;} 
-keep class com.google.** {*;} 
-keep class com.facebook.** {*;} 

我ProGuard的规则,但仍是同样的错误。任何想法?

+0

您需要从logcat发布错误。 –

+0

保持uru包在proguard中,并尝试 –

+0

如何访问logcat与商店中不可用的签名APK(所以我不能报告异常)? – Chris

回答

7

所以我找到了错误日志

W/SupportMenuInflater(29041): Cannot instantiate class: android.support.v7.widget.SearchView 
W/SupportMenuInflater(29041): java.lang.NoSuchMethodException: <init> [class android.content.Context] 

中添加

-keep class android.support.v7.widget.SearchView { *; } 

我proguard相关规则文件后,一切都按预期。