我最近将我的 Android 应用程序项目中的 Android Gradle 插件从版本 7.4.2 升级到了 8.2.2。但是,我现在在发布构建期间执行 minifyReleaseWithR8 任务时遇到错误。
我收到的错误消息如下:
任务:app:minifyKioskDebugWithR8 失败 AGPBI:{“kind”:“error”,“text”:“com.android.tools.r8.ResourceException:com.android.tools.r8.internal.vc:读取'/Users/harinikesh/时发生I/O异常StudioProjects/instore/app/build/intermediates/merged_java_res/kioskDebug/base.jar':/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskDebug/base.jar","来源":[{"文件“:”/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskDebug/base.jar"}],"工具":"R8"} com.android.tools.r8.ResourceException: com.android.tools.r8.internal.vc:读取时发生 I/O 异常 '/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskRelease/base.jar': /Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskRelease/base.jar
我在生成发布版本时遇到此错误
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}
我尝试将shrinkResources和minifyEnabled设置为false,构建成功了。
这些错误是在我更新 Android Gradle 插件后才开始出现的。我已尝试清理项目并确保所有依赖项都是最新的,但问题仍然存在。
有其他人在升级到 Android Gradle Plugin 8.2.2 时遇到类似的问题吗?如何解决这些错误并使用 R8 成功缩小我的发布版本?
我们遇到了完全相同的错误。按照
./gradlew --stacktrace :app:minifyReleaseWithR8
的建议使用 sgjesse
查看堆栈跟踪后,我们意识到发生错误是因为在构建过程中找不到文件。
在我们的应用程序 build.gradle 文件中,我们有一个
tasks.whenTaskAdded {
闭包,可以在创建构建时重命名包。在此闭包内,文件被重命名/移动。从我们的 build.gradle 文件中删除此重命名逻辑后,错误已解决。
请注意,我确信可以纠正重命名逻辑。在我们的例子中,我们不需要它并决定删除它。