build.gradle
的buildToolsVersion
对应的SDK平台。
(我不知道为什么Android Studio没有检测到sdk未安装,可能是一个bug)打开您的Android/gradle.properties
文件,并确保android.enableR8=true
存在。
同时,最好确保文件的内容为:
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
对我来说,我只是在我的build.gradle(app)
文件中添加了 buildToolsVersion "30.0.3"
-
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
...
...}
今天我遇到了同样的问题,但以上的解决方案都没有起作用。以下是我的解决方法:
请记住,自AGP 3.4.0+以来,R8默认已启用。
我猜这是由新AS和相应的SDK安装以及旧的gradle配置文件之间的冲突造成的。
gradle.properties
中的这行代码,并确保此行未被注释:android.enableR8=true
点击右上角的“立即同步”,然后它将完成魔法。
等待同步完成,然后再次注释该行代码,以避免过时通知的干扰:
#android.enableR8=true
compileSdkVersion 31
buildToolsVersion '31.0.0'
to
compileSdkVersion 31
注释这行代码
// minifyEnabled true
问题已解决。
在我的情况下,我只是将build.gradle (:app)中的buildToolsVersion从“29.0.3”更新到buildToolsVersion“30.0.3”。
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
...
}
尽管错误信息提到了代码混淆(minification):
无法创建任务“:app:minifyReleaseWithR8”。
但是不需要禁用代码混淆!这并不能解决问题。
//minifyEnabled true
minifyEnabled false
我的应用面向Android 31,但SDK未安装!
android {
compileSdkVersion 31
ndkVersion "21.3.6528147"
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.jorgesys.news"
minSdkVersion 20
targetSdkVersion 31
versionCode 12
versionName "1.2.9"
app/build.gradle
文件中有一个我没有安装的buildToolsVersion
。buildToolsVersion '31.0.0-rc3'
但是我只安装了31.0.0-rc4
,最近已经删除了31.0.0-rc3并更新了另一个项目,只是没有更新这个项目。
是的,我本来希望Android Studio(我的情况是2021.1.1 Canary 1)能够明确指出问题 - 我们应该报告这个问题。