Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android的哪个Java版本具有不同的minSdkVersion和targetSdkVersion_Java_Android_Build Tools - Fatal编程技术网

Android的哪个Java版本具有不同的minSdkVersion和targetSdkVersion

Android的哪个Java版本具有不同的minSdkVersion和targetSdkVersion,java,android,build-tools,Java,Android,Build Tools,使用Gradle编译Android应用程序时,如何确定要使用哪个Java版本?例如,我的gradle构建文件的一些片段如下所示: android { compileSdkVersion 22 buildToolsVersion "22.0.1" // Other settings defaultConfig { applicationId "com.example" minSdkVersion 15 target

使用Gradle编译Android应用程序时,如何确定要使用哪个Java版本?例如,我的gradle构建文件的一些片段如下所示:

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    // Other settings

    defaultConfig {
        applicationId "com.example"
        minSdkVersion 15
        targetSdkVersion 22

        // Other default settings
    }
}

android SDK版本19及更高版本(即KitKat及更高版本)支持Java SE 7。鉴于上述代码片段,我如何确定是否应该使用Java SE 7或Java SE 6进行编译和源代码兼容性?

无论是
minSdkVersion
还是
targetSdkVersion
都不能用于确定编译的源代码兼容性。源代码兼容性和编译的决定因素是
compileSdkVersion
buildToolsVersion

我使用了具有以下值的gradle文件:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    // Other settings

    defaultConfig {
        applicationId "com.example"
        minSdkVersion 8
        targetSdkVersion 23

        // Other default settings
    }
}
专门用于测试的代码片段是:

public void onCreate(Bundle bundle) {

    ...

    List<String> strings = new ArrayList<>();
    strings.add("John Doe");
    strings.add("Jane Doe");
    strings.add("Bill Gates");
    strings.add("Mark Zuckerberg");

    ListView listView = (ListView) findViewById(R.id.list);
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_gallery_item, strings);
    listView.setAdapter(adapter);

    ...
}
如果将其更改为
buildToolsVersion='19.1.0'
,则生成成功

当您将
compileSdkVersion
设置为小于
buildToolsVersion
主值的任何值时,生成失败,主要原因是缺少资源依赖关系

minSdkVersion
targetSdkVersion
设置为低于compileSdkVersion的任何版本都无效

第1页。主值是第一个点之前的第一个整数。e、 g.
buildToolsVersion'23.0.2'
的主要值为23

第2页。我用Android API级别为10的真实设备(Gingerbread 2.3.6)测试了成功构建的结果。我将源代码兼容性设置为JDK 7,并使用Java7中引入的菱形操作符

The SDK Build Tools revision (17.0.0) is too low for project ':app'. Minimum required is 19.1.0