首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我启用minify时处理任务时出现异常。

当我启用minify时处理任务时出现异常。
EN

Stack Overflow用户
提问于 2019-01-26 17:47:52
回答 1查看 212关注 0票数 0

这个问题很容易解释,我错了

处理任务时的异常java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: 4

在建造APK的时候。起初,我没有启用minify,它起作用了(但是生成了NoClassFoundError)。这就是我在build.gradle文件中启用minify的原因。一开始,我收到了很多来自专业警卫的警告,所以我忽略了所有使用-dontwarn的警告。在忽略所有警告之后,我得到了上述异常。我不知道出了什么问题。在这里,我已经附加了gradle文件和专业护卫内容。

build.gradle

代码语言:javascript
复制
android {
compileSdkVersion 28
defaultConfig {
    applicationId "com.plumelabs.air"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    vectorDrawables.useSupportLibrary true
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

buildTypes {
    debug{
        //multiDexKeepProguard file('multidex-config.pro')
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    release {
        multiDexKeepProguard file('multidex-config.pro')
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-    core:3.0.2'

implementation 'com.android.support:multidex:1.0.0'

implementation 'com.google.android.gms:play-services-auth:16.0.0'
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-places:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'

// https://mvnrepository.com/artifact/com.github.doctoror.geocoder/library
implementation group: 'com.github.doctoror.geocoder', name: 'library', version: '1.3.0'


implementation group: 'io.fabric.sdk.android', name: 'fabric', version: '1.4.2'
implementation 'io.nlopez.smartlocation:library:3.3.3'
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'

implementation 'com.facebook.android:facebook-core:[4,5)'
implementation 'com.facebook.android:facebook-login:[4,5)'
/*implementation 'com.facebook.android:facebook-share:[4,5)'
implementation 'com.facebook.android:facebook-places:[4,5)'
implementation 'com.facebook.android:facebook-messenger:[4,5)'
implementation 'com.facebook.android:facebook-applinks:[4,5)'*/

implementation 'com.google.firebase:firebase-core:16.0.6'
// implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.firebase:firebase-dynamic-links:16.1.5'
implementation 'com.google.firebase:firebase-messaging:17.3.4'

implementation 'com.google.code.gson:gson:2.8.4'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'


implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

implementation 'com.github.bumptech.glide:glide:3.7.0'
annotationProcessor 'com.github.bumptech.glide:glide:3.7.0'

implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
implementation 'com.github.hotchemi:android-rate:1.0.1'
implementation 'com.romandanylyk:pageindicatorview:1.0.2'
implementation 'com.karumi:dexter:5.0.0'
implementation 'com.getkeepsafe.taptargetview:taptargetview:1.12.0'

implementation group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: '3.10.0'

}

专业保护内容

代码语言:javascript
复制
-keep class com.** { *; }
-dontwarn com.**
-dontwarn retrofit2.**
#-dontwarn okhttp3.**
-dontwarn okio.**


-keepattributes Signature
-keepattributes Annotation
-keep class okhttp3.* { *; }
-keep interface okhttp3.* { *; }
-dontwarn okhttp3.

-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn com.squareup.okhttp3.**
-keep class com.squareup.okhttp3.** { *; }
-keep interface com.squareup.okhttp3.* { *; }
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn org.**
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-26 20:48:40

使用-dontwarnorg.**域是awfu,它忽略了广泛的错误,您应该避免使用它!

您只需添加一些库推荐我们的保护规则。

但是,此错误意味着obfuscation中的某些类已经更改,您应该找到哪些类具有此条件。在此之后,只需添加以下规则来保留这些内容:

代码语言:javascript
复制
-keep class packagename.* { *; }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54381021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档