1

我有一个有编译问题的旧 android 项目。我已经用一行添加了一个 gradle.properties 文件到根目录:

android.enableAapt2 = false

但是,我仍然收到此错误:

Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT error: check logs for details

这对我来说没有意义,因为我禁用了 aapt2 并且它似乎仍在使用它。此外,我检查了我能找到的每一个日志,但没有找到关于实际破坏的额外信息。

4

1 回答 1

0

至于你的第一个问题,构建给你一个 AAPT 错误,它可能来自 AAPT(1),而不仅仅是 AAPT2,这就是为什么禁用 AAPT2 并不能“修复”它。

其次,禁用 AAPT2 不是解决方案。AAPT2 告诉您文件有问题。它会提前使构建失败,这样您的应用程序就不会在运行时崩溃(AAPT 会默默地允许)。

最后,您可能在构建之间修改了某些内容,或者它在过去也没有构建。找出问题所在的一种方法是检查日志。如果您在 Android Studio 中找不到它们(对于不同版本的 Android Studio、Android Gradle 插件和 Gradle,它们将位于不同的位置),生成它的简单方法是转到 Android Studio 中的终端窗口并运行"gradlew clean assembleDebug". 来自 AAPT/AAPT2 的错误应该就在堆栈跟踪之上。

于 2018-06-01T12:43:45.133 回答