Android Gradle 更新到 3.2 后出现错误

Android Gradle errors after update to 3.2

我今天早上更新了 Android Studio,现在是 Android Studio 3.2

Build #AI-181.5540.7.32.5014246, built on September 17, 2018
JRE: 1.8.0_152-release-1136-b06 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0.

在更新之前项目运行良好,现在我在构建它时遇到错误:

Execution failed for task ':app:processDebugResources'.
Android resource linking failed
warn: removing resource (myAppId)/content_main_photos without required default value.
app\src\main\res\layout\activity_main.xml:23: error: resource string/fgmt_titre_drawer (aka (myAppId):string/fgmt_titre_drawer) not found.
...
...
...

我已经厌倦了清理和重建、重新启动和使缓存无效,但没有任何效果。

有什么问题?

resource string/fgmt_titre_drawer (aka (myAppId):string/fgmt_titre_drawer) not found.

缺少一个字符串,名为:fgmt_titre_drawer

转到 res/strings.xml 并声明一个名为 fgmt_titre_drawer:

的字符串
<string name="fgmt_titre_drawer">YourText</string>

然后重建项目就可以了。

检查字符串资源 string/fgmt_titre_drawer。如有编译错误请尝试解决

这与字符串资源翻译有关;昨天刚刚修复了一个类似的错误...其中 values/strings.xml 缺少 values-de/strings.xml 包含的字符串资源。 values/strings.xml 中定义了“默认值”(即“默认翻译”)。

您必须搜索 fgmt_titre_drawer 的所有翻译并在缺少的地方添加它。

几周前,在我们将构建工具版本升级到 28.0.3 后,我遇到了类似的问题。我们有一些限制不允许将字符串放在默认值文件夹中。这里有答案,但也许你需要一些让你不去想你没有在默认文件夹中添加一些值的东西:)

我编写了 gradle 脚本来生成缺失的资源。此脚本仅生成字符串、样式、整数等("values" 文件夹中的所有内容)。随意打开PR生成其他资源类型:)

https://github.com/gerra/MissingResources

您需要的一切都在 missing_res_generator.gradle 文件中。