android JDBC mysql java连接器应用程序:preDexDebug
我试图学习如何使用JDBC将应用程序连接到MySQL数据库 我正在使用Android Studio 我从mysql网站下载了“mysql-connector-java-5.1.37” 只需将“mysql-connector-java-5.1.37-bin.jar”放在Hello World应用程序的libs文件夹中,然后编译我收到的: 错误:任务“:app:preDexDebug”的执行失败。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:process'command'C:\Program Files\Java\jdk1.8.0_45\bin\Java.exe''以非零退出值1结束 build.gradle:android JDBC mysql java连接器应用程序:preDexDebug,java,android,mysql,jdbc,Java,Android,Mysql,Jdbc,我试图学习如何使用JDBC将应用程序连接到MySQL数据库 我正在使用Android Studio 我从mysql网站下载了“mysql-connector-java-5.1.37” 只需将“mysql-connector-java-5.1.37-bin.jar”放在Hello World应用程序的libs文件夹中,然后编译我收到的: 错误:任务“:app:preDexDebug”的执行失败。 com.android.ide.common.process.ProcessException:org
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "br.com.myaplication.helloworld"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
}
dependencies {
//other stuff
compile files('libs/mysql-connector-java-3.0.17-ga-bin.jar')
}
尝试同步您的项目
Tools->Android->与Gradle文件同步项目
然后重建项目:
build->rebuild project
我也遇到了同样的问题,问题出现在mysql-connector-java-5.1.37.jar文件中。我从下载了一个旧版本(mysql-connector-java-3.0.17-ga-bin.jar),工作起来很有魅力
要获得连接,请使用:
Class.forName("com.mysql.jdbc.Driver").newInstance();
String connection = "jdbc:mysql://"+ your_ip + ":"+ your_port +"/"+ database_name;
conn = DriverManager.getConnection(connection, user, pass);
以防万一,别忘了在build.gradle中编译它:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "br.com.myaplication.helloworld"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
}
dependencies {
//other stuff
compile files('libs/mysql-connector-java-3.0.17-ga-bin.jar')
}
PD:这仅在使用与AsyncTask的连接时有效,因为分布式mysql-connector-java-5.1.37-bin.jar是为Java1.8编译的,当前的Android dex编译器无法识别它
$ javap -v com/mysql/jdbc/JDBC42Helper.class| grep "major version"
major version: 52
另一方面,mysql-connector-java-5.1.36.jar是为Java1.6编译的
$ javap -v com/mysql/jdbc/JDBC4Connection.class |grep "major version"
major version: 50
,因此需要Java1.8。如何构建项目?使用渐变构建?你应该试试gradle clean build!我只需按下android studio的运行按钮。我该怎么做?(对不起,我是新手)请不要为真正的项目这样做:@MorrisonChang thx寻求帮助,但我在使用webservice时也遇到了问题哈哈哈哈..我也有同样的问题。有人找到解决方案了吗?您在构建项目时出现了错误?你能在建筑时张贴完整的毕业日志吗是的,在建筑时。。此处不适合,但此处开始出现错误:app:processDebugJavaRes最新:app:CompiledBugJavaWithJavaC最新:app:CompiledBugNDK最新:app:CompiledBugSources最新:app:preDexDebug AGPBI:{“种类”:“简单”,“文本”:“警告:忽略匿名内部类的InnerClasses属性”,“源”:[{}]}}AGPBI:{“种类”:“简单”,“文本”:”(com.mysql.jdbc.Connection$1),它不带“,”sources“:[{}]}AGPBI:{”kind“:”simple“,”text“:”关联的封闭方法属性。