Android gradle中的分析错误-ExecException
我的android应用程序需要使用JDBC与SQL Server进行一些工作, 所以我在模块中添加了文件 但是我在Build-Gradle中出错了,下面是我的Gradle控制台:Android gradle中的分析错误-ExecException,android,sql-server,android-studio,jdbc,android-gradle-plugin,Android,Sql Server,Android Studio,Jdbc,Android Gradle Plugin,我的android应用程序需要使用JDBC与SQL Server进行一些工作, 所以我在模块中添加了文件 但是我在Build-Gradle中出错了,下面是我的Gradle控制台: :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareComAndroidSupportAnimatedVectorDrawab
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2400Alpha1Library UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72400Alpha1Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42400Alpha1Library UP-TO-DATE
:app:prepareComAndroidSupportSupportVectorDrawable2400Alpha1Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJava
:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources
:app:preDexDebug
AGPBI: {"kind":"SIMPLE","text":"PARSE ERROR:","position":{},"original":"PARSE ERROR:"}
AGPBI: {"kind":"SIMPLE","text":"unsupported class file version 52.0","position":{},"original":"unsupported class file version 52.0"}
AGPBI: {"kind":"SIMPLE","text":"...while parsing com/microsoft/sqlserver/jdbc/ActivityCorrelator.class","position":{},"original":"...while parsing com/microsoft/sqlserver/jdbc/ActivityCorrelator.class"}
AGPBI: {"kind":"SIMPLE","text":"1 error; aborting","position":{},"original":"1 error; aborting"}
BUILD FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_40\bin\java.exe'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
在Gradle Buildwindows中,我得到了以下信息:
Error:Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_40\bin\java.exe'' finished with non-zero exit value 1
Connections字符串工作正常,MyMainActivity.java文件包含:
public class MainActivity extends ActionBarActivity {
TextView tv;
Connection DbConn;
Statement stmt;
ResultSet reset;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.textView);
try {
Log.e("Inside the Try Block", "Pre - Done");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
DbConn = DriverManager.getConnection("{connection string}");
Log.e("Connection","open");
stmt = DbConn.createStatement();
reset = stmt.executeQuery(" select * from Members");
tv.setText("User Name : "+reset.getString(1)+", Name : "+reset.getString(2));
DbConn.close();
} catch(Exception e) {
Log.e("Error connection", "" + e.getMessage());
e.printStackTrace();
}
}
}
该错误是由于编译器的字节码版本与包含的
.jar
存档中的类不匹配而导致的
有关详细信息,请参阅
编辑:使用
sqljdbc41.jar
而不是sqljdbc42.jar
应该可以解决这个问题我添加的.jar文件是sqljdbc42.jar,根据这个,它使用的是JDK 1.8,这是我的JDK版本。@NiravMadariya它取决于目标兼容性,而不是Java SDK的安装版本。除非您使用的是AndroidStudio 2.1+并针对AndroidN,否则无法使用符合Java1.8的字节码进行构建。在Android N下,目标兼容性可以是1.7
或1.6
。因此应该使用sqljdbc41.jar
。不幸的是,我的目标是AndroidStudio(仅2.1+)中的Android N.@NiravMadariya,选择以下菜单“构建->编辑风格->切换到属性选项卡->将目标兼容性更改为1.8或切换到sqljdbc41.jar