- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当使用 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 来进行编译和源代码兼容性?
最佳答案
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 = '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
主要值的任何值时,构建将失败,这主要是由于缺少资源依赖性。
将 minSdkVersion
和 targetSdkVersion
设置为低于 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/
在我的应用程序中我正在使用 我想运行我的应用程序 android:minSdkVersion="8"。但是我正在使用 ActionBar 和 Fragment 并且使用了很多最新的支持的版本。那么如
我正在使用 Uber旨在与 Android SDK 16 配合使用的 SDK。我当前的 minSdkVersion 是 14。我可以像这样使用它 - if (android.os.Build.VERS
我在 www/config.xml 中将 minSdkVersion 设置为 8: 当我运行“phonegap local build android”时,会生成以下文件: find /Users
我的应用不再支持 Android 4.x 和 5.x,仅支持 Android 6.0 及更高版本。出于这个原因,在我的 app/build.gradle 中,我将 minSdkVersion 16 更
我已经使用 Eclipse 和 android 2.2 编写了我的应用程序。但是我认为我的应用程序适用于以前的版本,因此它将允许更多用户使用我的应用程序。问题是我不确定...例如,我正在使用我认为是较
我编写了一个完美运行的程序,直到市场要求我添加“minSdkVersion”。因为我使用的是 2.3.3 功能,所以我将它设置为 10,但随后我的程序停止了从磁盘访问文件的能力(所有文件访问都是错误的
我已经在 list 中设置了 minSdkVersion。现在我想在代码中检索它。这应该很容易,但我不明白。我该怎么做? 最佳答案 minSDKVersion 是 Android list 中的一项设
在下面找到谷歌在其最新的谷歌 IO-13 计划中优化应用程序平板电脑的说法。我的问题是:- 为什么我的应用程序必须具有大于 11 的最小 sdk 版本才能使其针对平板电脑进行优化?这意味着如果我支持在
关于NetworkOnMainThreadException,我做了这样的测试:我只在我的eclipse中安装了android-15,我设置了uses-sdk android:minSdkVersio
当通过向导创建新项目时出现错误,那真是太令人沮丧了。 我只是用 MinSdk = 9 创建新项目,让应用程序在 gingerbread 上运行这给了我以下错误: Error:Execution fai
我完全想不出为什么我似乎无法从 list 中为我的应用程序设置 minSdkVersion。我正在使用 Ubuntu OS 从终端编译 - 只需使用> ant debug 这是我的 list :
这个问题在这里已经有了答案: Image does not show completely white despite it's correctly white (6 个答案) 关闭 7 年前。 我
我在 AndroidManifest.xml 和 build.gradle 中有一个 minSdkVersion 设置为 14 的 android studio 项目 现在我想写一些自动化测试,所以我
我一直在构建一个项目并在 Android 模拟器上对其进行测试。 我意识到我将 minSdkVersion 设置为 10。现在,我有一部手机可以测试程序,但它的 sdk 版本是 7。 我尝试进入 li
当我新建一个flutter app时,android\app\build.gradle的内容是 ... defaultConfig { // TODO: Specify your ow
我的应用程序中需要这段代码: //compile 'com.google.android.gms:play-services:6.+' 但我还需要 minSdkVersion 为 7,但这不起作用。错
我在开发应用时将 minSdkVersion 设置为 3,targetSdkVersion 设置为 8。 我的应用程序已发布,并且可以在从 Android 1.5 到 3.0 的所有设备上运行虽然它可
我创建了一个使用 android-viewflow 的应用程序并且它有 minSdkVersion="1" ,但是当我在 Google Play 上发布它时我发现它不兼容只需这些设备 三星 Galax
例如,当我发布将 minSdkVersion 从 8 更改为 16 的更新时:已经下载我的应用程序的 api 8 用户会怎样? 最佳答案 他们无法安装更新,将使用旧版本直到最后。根据您使用的应用商店,
我想使用不同的 android:minSdkVersion 构建我的应用程序的两个不同版本。在较低的 sdk 版本中,我会简单地省略需要较高 sdk 的功能。 (禁用需要更高版本的用户界面项) 我知道
我是一名优秀的程序员,十分优秀!