Cause: compileSdkVersion is not specified. Please add it to build.gradle

新建了个项目,过一段时间之后再去编译,提示错误:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'MyApp'.
> compileSdkVersion is not specified. Please add it to build.gradle

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

很诧异,啥都没改,为什么突然就报错了呢?

于是一一排查,终于找到问题了,我项目APP中,依赖如下:

dependencies {

    ...
    implementation "androidx.core:core-ktx:+"
    ...
}

重点就是这个+,代表一直使用最新的版本,而最新版本有可能对compileSdk,tools版本产生各种要求,从而导致最终的编译不过。

而这个依赖库时创建项目时自动创建的,如果没有使用到删掉即可,如果使用,建议使用固定版本。

另外,项目的build.gradle文件中要声明好版本如下:

plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
}

类似的错误还有如下等等,都是由于这个问题导致的

1.  Dependency 'androidx.core:core:1.9.0-beta01' requires libraries and applications that
      depend on it to compile against version 33 or later of the
      Android APIs.

      :app is currently compiled against android-32.

      Also, the maximum recommended compile SDK version for Android Gradle
      plugin 7.2.1 is 32.

      Recommended action: Update this project's version of the Android Gradle
      plugin to one that supports 33, then update this project to use
      compileSdkVerion of at least 33.

      Note that updating a library or application's compileSdkVersion (which
      allows newer APIs to be used) can be done separately from updating
      targetSdkVersion (which opts the app in to new runtime behavior) and
      minSdkVersion (which determines which devices the app can be installed
      on).
2.  Dependency 'androidx.core:core-ktx:1.9.0-beta01' requires libraries and applications that
      depend on it to compile against version 33 or later of the
      Android APIs.

      :app is currently compiled against android-32.

      Also, the maximum recommended compile SDK version for Android Gradle
      plugin 7.2.1 is 32.

      Recommended action: Update this project's version of the Android Gradle
      plugin to one that supports 33, then update this project to use
      compileSdkVerion of at least 33.

      Note that updating a library or application's compileSdkVersion (which
      allows newer APIs to be used) can be done separately from updating
      targetSdkVersion (which opts the app in to new runtime behavior) and
      minSdkVersion (which determines which devices the app can be installed
      on).

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>