Android Studio 3.1中的任务':app:transformClassesWithAndroidGradleClassShrinkerForDebug'执行失败 [英] Execution failed for task ':app:transformClassesWithAndroidGradleClassShrinkerForDebug' in Android Studio 3.1

查看:136
本文介绍了Android Studio 3.1中的任务':app:transformClassesWithAndroidGradleClassShrinkerForDebug'执行失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚从Android Studio 3.1 升级到Android Studio 3.1.1 (但仍使用Gradle构建)工具 3.0.0 )。当我运行我的应用程序时,它将导致以下错误:

I've just upgraded from Android Studio 3.1 to Android Studio 3.1.1 (but still using Gradle build tool 3.0.0). When I run my app it causes this error:

:app:transformClassesWithAndroidGradleClassShrinkerForDebug
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/Interceptor
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/Interceptor
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/Request
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: okio/Okio
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/ResponseBody
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okio/Okio
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/Request
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/Response
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/Headers
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/ResponseBody
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/Interceptor$Chain
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/Response$Builder
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/Response
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/Headers
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/RequestBody
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/OkHttpClient$Builder
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/HttpUrl
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: com/squareup/okhttp/OkHttpClient
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: okio/BufferedSource
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/Interceptor$Chain
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/Response$Builder
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okhttp3/RequestBody
com/android/tools/profiler/agent/okhttp/OkHttp2Interceptor references unknown class: okio/BufferedSink
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okio/BufferedSource
com/android/tools/profiler/agent/okhttp/OkHttp3Interceptor references unknown class: okio/BufferedSink
:app:transformClassesWithAndroidGradleClassShrinkerForDebug FAILED
:app:buildInfoGeneratorDebug

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithAndroidGradleClassShrinkerForDebug'.
> Warnings found during shrinking, please use -dontwarn or -ignorewarnings to suppress them.

但是我没有使用 okhttp 或我项目中的所有Http库(例如Retrofit等)。

But I'm NOT using okhttp or any Http library (like Retrofit,..) in my project.

当我将Gradle构建工具升级到最新版本 3.1.1 。我不知道为什么,当我降级到Android Studio 3.1.0 时,一切都很好。

This error also happens when I'm upgrading Gradle build tool to the newest version 3.1.1. I don't know why, everything is fine when I downgrade back to Android Studio 3.1.0.

app / build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.z.a.zcamera"
        minSdkVersion 14
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation project(path: ':libzcamera')
    implementation 'com.android.support:support-v4:26.1.0'
}

更新:

我认为这是由Android Profiler工具的新功能引起的:网络分析器由于 com / android / tools / profiler / agent 路径,我将打开高级配置文件以跟踪网络有效负载。

I think it is caused by Android Profiler tool's new feature: the network profiler because of the com/android/tools/profiler/agent path and I'm turning ON the advanced profiling to track network payload.

我也不想禁用Proguard。

I also don't want to disable Proguard too.

有什么想法吗?

推荐答案

似乎是Android Studio 3.1.1的错误。它的Android Profiler会注入一些ProGuard无法正确处理的其他代码。
手动构建APK或执行gradle命令不受影响。

It seems like a bug of Android Studio 3.1.1. It's Android Profiler injects some additional code that is not well-handled by ProGuard. Building APKs or executing gradle commands manually is not affected.

选项1:(首选) 禁用高级分析

选项2:在调试版本中禁用收缩

Option 2: Disable shrinking for Debug builds

选项3:在从Android Studio部署应用程序时包括okhttp库。 [可能仅用于调试功能] (如果进行测量,ProGuard会删除任何未使用的方法,不会有太大开销,可能会很有用)

Option 3: Include okhttp library while deploying app from Android Studio. [probably only for debug flavor] (may be useful if measuring something, ProGuard will remove any unused methods, will be no big overhead)

如果上述解决方案/快速修复不起作用,请确保您未使用okhttp。也许您是-并且配置不正确。您可以使用 gradle app:dependencies 检查okhttp是否在您的项目或任何链接的库中被引用。

If solutions/quickfixes above don't work, please make sure you are not using okhttp. Maybe you are - and it's not properly configured. You may use gradle app:dependencies to check if okhttp is referenced in your project or any linked libraries.

这篇关于Android Studio 3.1中的任务':app:transformClassesWithAndroidGradleClassShrinkerForDebug'执行失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆