gpt4 book ai didi

android - 为什么 AndroidX 需要将 compileSdkVersion 设置为 28 或更高

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:58 26 4
gpt4 key购买 nike

我最近一直在学习 Android,我对新的 AndroidX 库有疑问。我知道 AndroidX 只是对支持库的新升级,它专注于为早期的 Android SDK 提供向后兼容性。

但是,谷歌要求“如果要在新项目中使用AndroidX,需要将编译SDK设置为Android 9.0(API级别28)或更高版本”。我在这里很困惑。这是否意味着 AndroidX 实际上使用了一些仅在 Android 9.0 或更高版本上可用的 API 方法或功能?如果是这样,它如何为无法访问这些高级 API 方法的旧 API 提供向后兼容性?

我认为支持库对compileSdkVersion没有任何要求。

最佳答案

我之前也有同样的疑问。关键是,不要混淆 minSdkVersioncompileSdkVersion。如果你的 minSdkVersion 是 16,那么你的应用程序将支持 Android API 版本 16。但是要使用 AndroidX,你需要确保 compileSdkVersion 是 28。你通常使用无论如何编译应用程序时都是最新的 Android SDK 版本,所以这不是什么新鲜事。

这是一个使用 AndroidX 的示例应用程序 build.gradle 文件。注意 minSdkVersioncompileSdkVersion 版本号。

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

关于android - 为什么 AndroidX 需要将 compileSdkVersion 设置为 28 或更高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53844925/

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