使用ProGuard时无法创建APK

时间:2017-10-24 17:30:25

标签: java android proguard android-proguard multidex

我在尝试创建apk时突然遇到java.lang.OutOfMemoryError: GC overhead limit exceeded错误。我不想使用增加HeapSize的修复程序..所以我想我会尝试使用ProGuard,希望它会有所帮助。

然而,当我启用proguard时:

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

并尝试创建一个apk,我收到这些错误:

enter image description here

我尝试像这样编辑'proguard-rules.pro':

-dontwarn class com.facebook.** { *; }
-dontwarn class com.appsflyer.** { *; }
-dontwarn class org.joda.time.** { *; }

但它只是调用错误,例如:

Exception while processing task java.io.IOException: proguard.ParseException: Unknown option 'com.facebook.**' in line 2 of ...

2 个答案:

答案 0 :(得分:0)

您必须在文件proguard-rules.pro中指明哪些类不会被混淆,具体取决于您在项目中使用的库,例如:

https://github.com/firebase/AndroidChat/blob/master/app/proguard-rules.pro enter link description here

不要忘记,您不应混淆您的Web服务的实体(请求和响应)

答案 1 :(得分:0)

尝试使用

-dontwarn com.facebook.**

-dontwarn com.appsflyer.**

-dontwarn org.joda.time.**