Android Studio 3.0,AAPT2编译失败 - 资源文件中的dimen无效

8
我正在Arch Linux上使用Android Studio 3.0 Canary 3,并尝试制作一个小应用程序。在发布问题之前进行了一些研究,但我找到的解决方案都不适用于我。非常感谢任何帮助。
错误:任务“:app:mergeDebugResources”执行失败。 > 错误:java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.internal.aapt.AaptException:AAPT2编译失败: aapt2编译 -o / home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / res / merged / debug / home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged .dir / values / values.xml 问题: - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:244无效的dimen - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:245无效的dimen - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:283无效的dimen - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:309无效的dimen - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:310无效的dimen - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:312无效的dimen - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:313无效的dimen - 错误:/ home / xhensi / AndroidStudioProjects / FindRestaurant / app / build / intermediates / incremental / mergeDebugResources / merged.dir / values / values.xml:314无效的dimen

1
仍然存在于Android Studio 3,Canary 5(Ubuntu)中。 - Josef Adamcik
1
实际上,这是一个重复的问题,可以在 https://dev59.com/9lcP5IYBdhLWcg3wkKvT 找到更多和更好的答案。 - Josef Adamcik
1个回答

12

更新:

我找到了解决这个问题的方法,希望这个答案也能帮助其他人!

显然,我的 Linux 格式设置是德语de_DE。我将它们更改为英语 en_US。 在终端中键入以下命令:

export LC_NUMERIC="en_US.UTF-8"

source ~/.bashrc

然后,在我的情况下,重新启动系统后它就可以工作了(通常也应该在注销后工作)。

有关设置的更多信息:

https://askubuntu.com/questions/724338/how-to-set-lc-numeric-to-english-permanently


1
环境变量(例如LC_NUMERIC)如果您仅在终端中使用命令设置它们,则在重新启动后将不会被保留。您需要将其添加到init文件中。 - Thomas Padron-McCarthy
5
在MacOSX上怎么样? - Etienne Lawlor
将以下行添加到用户的shell配置文件中(例如~/.bashrc):export LC_NUMERIC="en_US.UTF-8"。 在下一次重新启动并登录用户配置文件后,它将变为可用。 使LC_NUMERIC变量可用的第二种方法是运行source ~/.bashrc,您当前的shell配置文件将被更新。 - lukassos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接