任务':app:transformClassesWithDexBuilderForDebugAndroidTest'java.lang.RuntimeException的执行失败

时间:2018-11-25 22:57:33

标签: android android-gradle androidx

我将android项目迁移到了AndroidX库,但是在运行Android测试时遇到了问题。

我可以毫无问题地编译和运行该应用程序,我可以无问题地运行./gradlew assembleDebugUnitTest,但是它无法运行./gradlew assembleDebugAndroidTest

我尝试清理/重建并使缓存无效并重新启动,但这也不起作用。

我使用的是minSdk = 21,compileSdk和targetSdk = 28以及buildTools = 28.0.3

这是完整的堆栈跟踪,没有发现有用的东西:

> Task :app:transformClassesWithDexBuilderForDebugAndroidTest FAILED
java.lang.RuntimeException: java.lang.RuntimeException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
        at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
        at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
        at com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:146)
        at com.android.build.gradle.internal.transforms.DesugarIncrementalTransformHelper.getInitalGraphData(DesugarIncrementalTransformHelper.java:162)
        at com.android.build.gradle.internal.transforms.DesugarIncrementalTransformHelper.makeDesugaringGraph(DesugarIncrementalTransformHelper.java:130)
        at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:160)
        at com.android.build.gradle.internal.transforms.DesugarIncrementalTransformHelper.getDependenciesPaths(DesugarIncrementalTransformHelper.java:231)
        at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.getD8DesugaringCacheInfo(DexArchiveBuilderTransform.java:461)
        at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:375)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
        at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
        at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
        at sun.reflect.GeneratedMethodAccessor1040.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:262)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:246)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:136)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:201)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.executeWithTask(DefaultTaskPlanExecutor.java:192)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException
        at org.objectweb.asm.ClassVisitor.visitModule(ClassVisitor.java:148)
        at org.objectweb.asm.ClassReader.readModule(ClassReader.java:731)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:632)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
        at com.android.builder.desugaring.DesugaringClassAnalyzer.analyze(DesugaringClassAnalyzer.java:144)
        at com.android.builder.desugaring.DesugaringClassAnalyzer.analyzeJar(DesugaringClassAnalyzer.java:92)
        at com.android.builder.desugaring.DesugaringClassAnalyzer.analyze(DesugaringClassAnalyzer.java:63)
        at com.android.build.gradle.internal.transforms.DesugarIncrementalTransformHelper.lambda$getInitalGraphData$4(DesugarIncrementalTransformHelper.java:150)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException

这是我的build.gradle文件:

apply plugin: "com.android.application"
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply from: '../dependencies.gradle'

android {
    compileSdkVersion androidCompileSdkVersion
    buildToolsVersion androidBuildToolsVersion
    defaultConfig {
        applicationId "com.domain.app"
        minSdkVersion androidMinSdkVersion
        targetSdkVersion androidTargetSdkVersion
        versionCode appVersionCode
        versionName appVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary true
        }
    }
    aaptOptions {
        additionalParameters "--no-version-vectors"
    }
    buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    lintOptions {
        abortOnError false
    }
    testOptions {
        unitTests {
            includeAndroidResources true
            returnDefaultValues true
        }
    }
}

dependencies {
    final GMS_CORE = "12.0.0"
    final INSTALL_REFERER = "1.0"
    final HYPERION = "0.9.22"

    implementation project(':analytics')
    implementation project(':analytics-android')
    implementation project(':answer-skill-milestones')
    implementation project(":api")
    implementation project(":billing")
    implementation project(":models")
    implementation project(":rxplaybilling")
    implementation project(':utilities')
    implementation project(':utilities-android')
    implementation project(":data")
    implementation project(':local-storage')
    implementation project(":interactors")
    implementation project(':interactors-android')
    implementation project(":milestones")
    implementation project(":navigation")
    implementation project(':premium-process')
    implementation project(":dynamic-variables")
    implementation project(':facebook')
    implementation project(':growing-up')

    implementation libraries.androidKtx
    implementation libraries.androidXFragment
    implementation libraries.ankoCommons
    implementation libraries.ankoDesign
    implementation libraries.archCore
    implementation libraries.archLifecycleExt
    kapt libraries.archLifecycleCompiler
    implementation libraries.billingClient
    implementation libraries.butterknife
    kapt libraries.butterknifeCompiler
    implementation libraries.calligraphy
    implementation libraries.circleImageView
    implementation(libraries.crashlytics) { transitive = true }
    implementation "com.google.guava:guava:26.0-android"
    implementation libraries.kochava
    implementation libraries.rxJava2
    implementation libraries.rxKotlin
    implementation libraries.timber
    implementation libraries.kotlin
    implementation libraries.dagger2
    implementation libraries.dagger2Android
    implementation libraries.dagger2AndroidSupport
    kapt libraries.dagger2AndroidProcessor
    kapt libraries.dagger2Compiler
    implementation libraries.exoplayer
    implementation libraries.expandableTextView
    implementation libraries.facebook
    implementation libraries.firebaseCore
    implementation libraries.glide
    implementation libraries.gson
    implementation libraries.imageCropper
    implementation libraries.leanplum
    implementation libraries.leanplumFcm
    implementation libraries.firebaseMsg
    implementation libraries.mixpanel
    implementation libraries.okhttp
    implementation libraries.okhttpLoggingInterceptor
    implementation libraries.support
    implementation libraries.supportAnimatedVectorDrawable
    implementation libraries.supportAnnotations
    implementation libraries.supportAppCompat
    implementation libraries.supportCardView
    implementation libraries.supportConstraintLayout
    implementation libraries.supportCustomTabs
    implementation libraries.supportDesign
    implementation libraries.supportRecyclerView
    implementation libraries.recyclerAnimators
    implementation libraries.retrofit2
    implementation libraries.retrofit2RxJavaAdapter
    implementation libraries.retrofit2GsonConverter
    implementation libraries.rxAndroid
    implementation libraries.rxBinding
    implementation libraries.rxBindingKotlin
    implementation libraries.rxRelay
    implementation "org.checkerframework:checker-compat-qual:2.5.3"
    implementation "com.google.errorprone:error_prone_annotations:2.3.1"

    testImplementation libraries.androidXFragmentTesting
    testImplementation libraries.androidXTestCore
    testImplementation libraries.androidXTestEspressoCore
    testImplementation libraries.androidXTestEspressoIntents
    testImplementation libraries.androidXTestExtJUnit
    testImplementation libraries.androidXTestExtTruth
    testImplementation libraries.androidXTestRules
    testImplementation libraries.androidXTestRunner
    testImplementation libraries.junit
    testImplementation libraries.mockito
    testImplementation libraries.mockitoKotlin
    testImplementation libraries.robolectric
    testImplementation libraries.robolectricShadowsSupportv4

    androidTestImplementation libraries.androidXFragmentTesting
    androidTestImplementation libraries.androidXTestCore
    androidTestImplementation libraries.androidXTestEspressoCore
    androidTestImplementation libraries.androidXTestEspressoIntents
    androidTestImplementation libraries.androidXTestExtJUnit
    androidTestImplementation libraries.androidXTestExtTruth
    androidTestImplementation libraries.androidXTestRules
    androidTestImplementation libraries.androidXTestRunner
    androidTestImplementation libraries.mockito
    androidTestImplementation libraries.mockitoKotlin
    androidTestImplementation libraries.robolectric
    androidTestImplementation libraries.robolectricShadowsSupportv4
    androidTestImplementation "org.checkerframework:checker-compat-qual:2.5.3"

    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "com.google.android.gms:play-services-base:$GMS_CORE"
    implementation "com.google.android.gms:play-services-gcm:$GMS_CORE"
    implementation "com.google.android.gms:play-services-location:$GMS_CORE"
    implementation "com.google.android.gms:play-services-ads:$GMS_CORE"
    implementation "com.android.installreferrer:installreferrer:$INSTALL_REFERER"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-core:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-attr:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-measurement:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-disk:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-recorder:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-phoenix:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-shared-preferences:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-geiger-counter:$HYPERION"
    debugImplementation "com.willowtreeapps.hyperion:hyperion-timber:$HYPERION"
}

以及定义了所有依赖项和gradle常量的gradle文件:

rootProject.ext {
    androidBuildToolsVersion = '28.0.3'
    androidCompileSdkVersion = 28
    androidMinSdkVersion = 21
    androidTargetSdkVersion = 28

    appVersionCode = 171
    appVersionName = "1.6.0-rc4"

    kotlinVersion = "1.2.71"

    // ORDERED ALPHABETICALLY.
    libraries = [
        androidKtx: "androidx.core:core-ktx:1.0.0-alpha1",
        androidXFragment: "androidx.fragment:fragment:1.1.0-alpha01",
        androidXFragmentTesting: "androidx.fragment:fragment-testing:1.1.0-alpha01",
        androidXTestCore: "androidx.test:core:1.0.0-beta01",
        androidXTestEspressoCore: "androidx.test.espresso:espresso-core:3.1.0",
        androidXTestEspressoIntents: "androidx.test.espresso:espresso-intents:3.1.0",
        androidXTestExtJUnit: "androidx.test.ext:junit:1.0.0",
        androidXTestExtTruth: "androidx.test.ext:truth:1.0.0",
        androidXTestRules: "androidx.test:rules:1.1.0",
        androidXTestRunner: "androidx.test:runner:1.1.0",
        ankoCommons: "org.jetbrains.anko:anko-commons:0.10.4",
        ankoDesign: "org.jetbrains.anko:anko-design:0.10.4",
        archCore: "androidx.arch.core:core-runtime:2.0.0-rc01",
        archLifecycleExt: "androidx.lifecycle:lifecycle-extensions:2.0.0-rc01",
        archLifecycleCompiler: "androidx.lifecycle:lifecycle-compiler:2.0.0-rc01",
        billingClient: "com.android.billingclient:billing:1.0",
        butterknife: "com.jakewharton:butterknife:9.0.0-SNAPSHOT",
        butterknifeCompiler: "com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT",
        calligraphy: "com.github.kibotu:Calligraphy:v4.0.1",
        circleImageView: "de.hdodenhof:circleimageview:2.1.0",
        crashlytics: "com.crashlytics.sdk.android:crashlytics:2.7.1@aar",
        dagger2: "com.google.dagger:dagger:2.16",
        dagger2Android: 'com.google.dagger:dagger-android:2.16',
        dagger2AndroidSupport: 'com.google.dagger:dagger-android-support:2.16',
        dagger2AndroidProcessor: 'com.google.dagger:dagger-android-processor:2.16',
        dagger2Compiler: "com.google.dagger:dagger-compiler:2.16",
        exoplayer: "com.google.android.exoplayer:exoplayer:2.8.2",
        expandableTextView: "at.blogc:expandabletextview:1.0.5",
        facebook: "com.facebook.android:facebook-android-sdk:4.36.1",
        firebaseCore: "com.google.firebase:firebase-core:12.0.0",
        firebaseMsg: "com.google.firebase:firebase-messaging:12.0.0",
        glide: "com.github.bumptech.glide:glide:4.7.1",
        gson: "com.google.code.gson:gson:2.7",
        imageCropper: "com.theartofdev.edmodo:android-image-cropper:2.6.0",
        junit: "junit:junit:4.12",
        kochava: "com.kochava.base:tracker:3.3.1",
        kotlin: "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion",
        ktlint: "com.github.shyiko:ktlint:0.29.0",
        leanplum: "com.leanplum:leanplum-core:4.2.0",
        leanplumFcm: "com.leanplum:leanplum-fcm:4.2.0",
        mixpanel: "com.mixpanel.android:mixpanel-android:5.+",
        mockito: "org.mockito:mockito-core:2.7.1",
        mockitoKotlin: "com.nhaarman.mockitokotlin2:mockito-kotlin:2.0.0-RC1",
        okhttp: "com.squareup.okhttp3:okhttp:3.4.1",
        okhttpLoggingInterceptor: "com.squareup.okhttp3:logging-interceptor:3.4.1",
        recyclerAnimators: "jp.wasabeef:recyclerview-animators:2.2.5",
        retrofit2: "com.squareup.retrofit2:retrofit:2.3.0",
        retrofit2RxJavaAdapter: "com.squareup.retrofit2:adapter-rxjava2:2.3.0",
        retrofit2GsonConverter: "com.squareup.retrofit2:converter-gson:2.3.0",
        robolectric: "org.robolectric:robolectric:4.0.2",
        robolectricShadowsSupportv4: "org.robolectric:shadows-support-v4:3.0",
        rxAndroid: "io.reactivex.rxjava2:rxandroid:2.0.1",
        rxBinding: "com.jakewharton.rxbinding2:rxbinding:2.0.0",
        rxBindingKotlin: "com.jakewharton.rxbinding2:rxbinding-kotlin:2.0.0",
        rxKotlin : "io.reactivex.rxjava2:rxkotlin:2.1.0",
        rxJava2 : "io.reactivex.rxjava2:rxjava:2.1.0",
        rxRelay: "com.jakewharton.rxrelay2:rxrelay:2.0.0",
        support: "androidx.legacy:legacy-support-v4:1.0.0",
        supportAnimatedVectorDrawable: "androidx.vectordrawable:vectordrawable-animated:1.0.0",
        supportAnnotations: "androidx.annotation:annotation:1.0.0",
        supportAppCompat: "androidx.appcompat:appcompat:1.0.2",
        supportCardView: "androidx.cardview:cardview:1.0.0",
        supportConstraintLayout: "androidx.constraintlayout:constraintlayout:1.1.2",
        supportCustomTabs: "androidx.browser:browser:1.0.0",
        supportDesign: "com.google.android.material:material:1.0.0-rc01",
        supportRecyclerView: "androidx.recyclerview:recyclerview:1.0.0",
        timber: "com.jakewharton.timber:timber:4.7.1",
    ]
}

1 个答案:

答案 0 :(得分:0)

删除以下费用,然后重试。

androidTestImplementation libraries.mockito
androidTestImplementation libraries.mockitoKotlin