Gradle Build Failure java.io.IOException: The output jar is empty

浪子不回头ぞ 提交于 2019-12-24 00:57:03

问题


My android studio project builds fine when running the app normally, but when I try to run tests I get the following gradle error message:

:app:transformClassesWithMultidexlistForDebugAndroidTest FAILED
Error:Execution failed for task ':app:transformClassesWithMultidexlistForDebugAndroidTest'.
> java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?
Information:BUILD FAILED
Information:Total time: 27.049 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

What is confusing me is that It refers to -keep options in the proguard configuration file, yet proguard is disabled, as you can see in my gradle file below, I have minifyEnabled true commented out:

apply plugin: 'com.android.application'

android {
compileSdkVersion "Google Inc.:Google APIs:23"
buildToolsVersion "23.0.1"    

defaultConfig {
    applicationId "com.wasptech.intellidroid"
    minSdkVersion 13
    versionCode 388
    targetSdkVersion 22
    versionName "2.38.08 - RC2"
    multiDexEnabled true       
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}

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

dependencies {
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:8.1.0'

compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:support-v13:23.1.1'

compile 'com.crittercism:crittercism-android-agent:5.3.3'

compile 'com.google.code.gson:gson:2.3'
compile 'com.squareup.retrofit:retrofit:1.7.1'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okio:okio:1.0.0'
compile 'com.squareup:otto:1.3.5'
compile 'com.github.lecho:hellocharts-library:1.5.0@aar'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'

compile 'com.squareup.picasso:picasso:2.5.2'

compile 'com.jakewharton.timber:timber:3.1.0'

compile 'com.github.PhilJay:MPAndroidChart:v2.0.7'

compile 'org.osmdroid:osmdroid-android:4.3'
compile 'org.slf4j:slf4j-simple:1.6.1'

compile project(':mobihelp_sdk_android_v1.4')
compile files('libs/osmbonuspack_v5.1.jar')

compile files('libs/espresso-1.1-bundled.jar')

compile 'com.android.support.test.espresso:espresso-core:2.2'
compile 'com.android.support.test:runner:0.3'
}

How do I go about troubleshooting this problem?


回答1:


You should use testInstrumentationRunner:

com.android.test.runner.MultiDexTestRunner



回答2:


Setting multiDexEnabled to false worked for me.



来源:https://stackoverflow.com/questions/34200646/gradle-build-failure-java-io-ioexception-the-output-jar-is-empty

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!