gpt4 book ai didi

java - 具有不同 minSdkVersion 和 targetSdkVersion 的 Android Java 版本

转载 作者:太空狗 更新时间:2023-10-29 14:50:29 24 4
gpt4 key购买 nike

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

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

// Other settings

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

// Other default settings
}
}

Android SDK 版本 19 及更高版本支持 Java SE 7,即适用于 KitKat 及更高版本。鉴于上面的代码 fragment ,我如何确定我应该使用 Java SE 7 还是 Java SE 6 来进行编译和源代码兼容性?

最佳答案

minSdkVersiontargetSdkVersion 均不用于确定源代码编译兼容性。源兼容性和编译的决定因素是 compileSdkVersionbuildToolsVersion

我使用了一个具有以下值的 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 = '17' 时,您会收到一条错误消息:

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

当您将其更改为 buildToolsVersion = '19.1.0' 时,构建成功。

当您将 compileSdkVersion 设置为小于 buildToolsVersion 主要值的任何值时,构建将失败,这主要是由于缺少资源依赖性。

minSdkVersiontargetSdkVersion 设置为低于 compileSdkVersion 的任何版本均无效。

P.S. 1. Major value is the first integer before the first dot. e.g. buildToolsVersion '23.0.2' has major value is 23.

P.S. 2. I tested the results of a successful build with a real device with Android API Level 10, (Gingerbread 2.3.6). I set source code compatibility to JDK 7, and used the Diamond Operator introduced in Java 7.

关于java - 具有不同 minSdkVersion 和 targetSdkVersion 的 Android Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35910320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com