Android gradle中的分析错误-ExecException

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

我的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: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