繁体   English   中英

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

[英]android: getting rid of “warning: unmappable character for encoding ascii”

.我正在使用android 工具编译。

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

我在网上找到了很多关于如何删除恼人警告的说明,但我无法使它们中的任何一个工作。

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

我想其中一些方法不起作用,而另一些方法会起作用,但我一直做错了。 一切皆有可能,我再也受不了了:关于如何做到这一点有什么建议吗?

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

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

虽然当然可以在 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

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

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

任何正在寻找解决方案的人,在gradle.properties设置以下内容都为我解决了gradle.properties问题。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM