android - 使用jetpack compose时android studio gradle脚本中compileSdk和compileSdkVersion有什么区别

标签 android android-studio build.gradle android-jetpack-compose gradle-kotlin-dsl

当我使用 jetpack 创建新的 android 项目时 撰写 带有或不带有 kotlin dsl 的工具包我发现在模块级 build.gradle 文件中,属性 compileSdkVersion 已被 compileSdk 替换。
我还发现无法将android sdk版本“android-S”添加到compileSdk,因为需要单独添加compileSdkVersion =“android-S”。我的问题是 到底是什么?区别 之间编译SDK compileSdkVersion .

build.gradle.kts(Module:Compose.app)

android {
    compileSdk = 30
    buildToolsVersion = "30.0.3"
    compileSdkVersion = "android-S"
}

最佳答案

使用新的 Android Gradle 插件 7.0.0 (当前 7.0.0-alpha14 )您可以使用:

  • minSdk 而不是 minSdkVersion
  • targetSdk 而不是 targetSdkVersion
  • compileSdk 而不是 compileSdkVersion

  • 这些属性适用于 Int 您可以将它们与以下内容一起使用:
    //minSdkVersion 21
    //targetSdkVersion 30
    minSdk 21
    targetSdk 30
    
    如果要使用预览版,则必须使用:
  • minSdkPreview
  • targetSdkPreview
  • compileSdkPreview

  • 这些属性适用于 String 并且设置这些值将覆盖 minSdk 的先前值/targetSdk/compileSdk .
    关于当前预览版本的字符串格式( 7.0.0-alpha14 )尚不清楚。也许它会随着 7.0.0-beta01 而改变(您可以查看 this commit )它应该是:
    compileSdkPreview = "S"
    

    关于android - 使用jetpack compose时android studio gradle脚本中compileSdk和compileSdkVersion有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67250362/

    相关文章:

    android - Gradle存在非零值

    android - 调试build.gradle文件

    android - Android OpenGL ES 上的光线对象拾取

    android - 如何在 Genymotion 模拟器中写阿拉伯语?

    java - 如何使用我的方案隐式打开我的应用程序?

    Android Studio Gradle 错误 : failed to resolve com. google.auto.service :auto-service:1. 0-rc2

    java - 如何使用LatLng从Google Place API查找最近的地方

    android-studio - 在Android Studio中使用Gradle的早期版本创建项目

    gradle - 具有多个应用程序的Gradle根项目

    java - Android中的下标和上标字符串