是什么导致Android Studio 3.1 - java.io.IOException:无法找到javax / naming / Referenceable的字节代码

时间:2018-04-02 19:04:00

标签: java mysql android-studio build.gradle

问题陈述

当我添加以下内容,实现项目(':mysql-connector-java-3.0.17-ga-bin'),依赖于我的Android Studio 3.1项目的build.gradle它构建良好但在尝试运行时遇到以下故障。

上下文:

Android Studio 3.1 MainActivity - Hello World; MySQL的连接器的Java-3.0.17-GA-仓 应用程序将成功构建,不会发出任何警告 应用程序不会与实现依赖项一起运行 应用程序将在删除实现依赖性的情况下运行

这是build.grandle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.example.mysqlexampleproject2"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"

testrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

    implementation project(':mysql-connector-java-3.0.17-ga-bin')
}

这是失败:

失败:构建因异常而失败。

* What went wrong:
Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
> com.android.build.api.transform.TransformException:     java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException:    Failed to find byte code for javax/naming/Referenceable

这是MySQL连接器的build.gradle:

configurations.maybeCreate("default")
artifacts.add("default", file('mysql-connector-java-3.0.17-ga-bin.jar'))

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为你从未找到答案。我有同样的问题。还在挣扎。

作为参考,这是Bill Butterfield https://www.youtube.com/watch?v=bu5Y3uZ6LLM

的示例项目