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

问题描述 投票:3回答:5

我正在使用android工具无日食进行编译。

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

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

我尝试过-D选项,我尝试过随机调整build。*文件,我已经尝试导出环境变量了……什么都没有。

我想其中一些方法不起作用,而另一些则可以,但是我做错了。一切皆有可能,我再也受不了:有关如何做的任何建议?

java android encoding internationalization
5个回答
3
投票

我有同样的问题。这就是我解决的方法:

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


1
投票

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

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

1
投票

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

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

我正在使用ANT 1.8.4并按Whome的建议提供一个build.properties文件,但对我来说不起作用,但这是朝着正确方向迈出的一步。我必须为每个项目创建一个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

0
投票

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


0
投票

对于寻求Gradle解决方案的任何人,在gradle.properties中设置以下内容对我来说都是解决方案。

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

© www.soinside.com 2019 - 2024. All rights reserved.