报错一:java.lang.NullPointerException: Cannot invoke "String.length()" because "" is null
解决方案:
I solved this problem by upgrading Android Gradle Plugin to version 8.3.1.
You can use Tools->AGP Upgrade Assistant to upgrade Android Gradle plugin.
报错二:Namespace not specified. Specify a namespace in the module's build file.
解决方案:
allprojects {
repositories {
google()
mavenCentral()
}
// This code is where all the magic happens and fixes the error.
subprojects {
afterEvaluate { project ->
if (project.hasProperty('android')) {
project.android {
if (namespace == null) {
namespace project.group
}
}
}
}
}
// This code is where all the magic happens and fixes the error.
}
报错三:Class 'kotlin.Suppress' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.
解决方案:
The expected version is the Kotlin for kotlin-gradle-plugin
The binary version is what is downloaded (or previously compiled) for com.android.tools.build:gradle
buildscript {
ext.kotlin_version = '1.5.20' // <= expected version is 1.5.1
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.1' // downloads 1.7.1 Metadata
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // <= 1.5.20 used here
}
KGP、Gradle、AGP版本对应表:https://kotlinlang.org/docs/gradle-configure-project.html#apply-the-plugin
通过差对应表,将主工程下的KGP版本升级即可。
From
ext.kotlin_version = '1.7.10'
to
ext.kotlin_version = '2.0.0'