[英]Android compileSdkVersion 23, minSdkVersion 15, targetSdkVersion 23
[英]Which Java version for Android with different minSdkVersion and targetSdkVersion
使用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及更高版本支持Java SE 7,適用於KitKat及更高版本。 鑒於上述代碼段,我如何確定是否應該使用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
設置為targetSdkVersion
下面的任何版本都無效。
PS 1.主要值是第一個點之前的第一個整數。 例如
buildToolsVersion '23.0.2'
主要值是23。PS 2.我使用Android API Level 10(Gingerbread 2.3.6)的真實設備測試了成功構建的結果。 我將源代碼兼容性設置為JDK 7,並使用了Java 7中引入的Diamond運算符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.