android:摆脱“警告:编码ascii的不可映射的字符”

时间:2010-04-12 14:14:54

标签: java android encoding internationalization

我正在使用android工具编译而没有eclipse

我从命令行编译启动“ant debug”。

我在网上发现了许多有关如何删除烦人警告的说明,但我无法使其中的任何一个工作。

我试过-D选项,我试过随机调整build。*文件,我试过导出一个环境变量......没什么。

我猜这些方法中的一些方法不起作用,而其他一些方法可行,但我一直在做错误的方法。一切皆有可能,我再也受不了了:关于如何做的任何建议?

5 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。这就是我解决它的方法:

当我启动ant release时,输出中会显示以下行:[setup] Importing rules file: tools/ant/ant_rules_r3.xml。我编辑了ant_rules_r3.xml并将“ascii”替换为“UTF8”。

答案 1 :(得分:1)

我有android-10 SDK工具包,这是我在构建项目时修复编码警告的方法。 *创建c:/myproject/build.properties文件 *覆盖默认的ANT变量

## Override default ANT properties
java.encoding=ISO-8859-1

答案 2 :(得分:1)

虽然可以在Android SDK中调整系统默认值,但这样的尝试可能会导致ANT的不可预测和非标准行为。系统的其他一些位可能会期望ANT的默认行为或更新将撤消您的更改。此外,如果您尝试在不同的系统(例如构建服务器或团队成员的计算机)上编译项目,则需要记住调整所涉及的每个系统。因此,应避免系统调整,不建议这样做。

ANT构建过程接受系统范围默认值的每个项目覆盖。虽然它确实需要为每个项目提供额外的文件,但它可能会在所有开发平台上提供更一致的构建行为,并简化开发,诊断和维护。

我正在使用ANT 1.8.4并提供了一个build.properties文件,如 Whome 所建议的那样对我不起作用,但它是朝着正确方向迈出的一步。我必须创建一个ant.properties文件(对于每个项目)并提供覆盖,就像 Whome 建议的那样。

但是,在任何其他文件中提供这些覆盖是一个坏主意,例如local.propertiesbuild.xml文件。这些文件由android工具创建和修改。

我建议读者阅读build.xml文件,因为它已有详细记录,并提供了有关如何使用Android ANT构建系统的出色提示和说明。

下一个有趣的阅读内容是android-sdk/tools/ant/build.xml中的根ANT构建脚本。此文件将列出所有可覆盖的属性,例如:

java.target=1.6
verbose=true

但编码的设置与 Whome

之前建议的一样
## Override default ANT properties
java.encoding=ISO-8859-1

答案 3 :(得分:0)

对于瑞典字符集,我按照fhucho的建议做了。但我必须使用ISO-8859-1而不是UTF-8。所以也许最好使用ISO编码。

答案 4 :(得分:0)

任何正在寻找解决方案的人,在gradle.properties中设置以下内容即可为我解决。

org.gradle.jvmargs='-Dfile.encoding=UTF-8'