如何使用aapt2,文档在哪里



我已经使用aapt p来打包资源并生成R.java

但当我升级到安卓24时,我发现了aapt2.exe

我应该使用aapt2.exe吗?我该如何使用它?我找不到任何关于它的文件。

AAPT和AAPT2的工作方式有一些很大的不同

编译并链接

除了新功能外,AAPT2的主要思想是将"包"步骤分为两步:"编译"one_answers"链接"。它提高了性能,因为如果只有一个文件更改,则只需要重新编译该文件并使用"link"命令链接所有中间文件

限制性更强

AAPT2试图尽早发现大多数错误。这就是为什么当从AAPT切换到AAPT2时,您可能会遇到许多错误,指出某些元素嵌套不正确或某些引用不正确。有关新限制的更多信息,请参阅Android Studio 3.0文档

用法

Android Studio 3.0默认启用了AAPT2(带有Android Gradle插件3.0.0)。但如果你想在自己的脚本中使用AAPT2,你需要改变处理资源的方式。对于带有AAPT的"package"命令,您将使用-S传递资源目录。使用AAPT2,您需要首先使用"compile"命令编译每个资源,然后使用-R标志传递所有已编译的文件。
例如:

aapt package -S app/src/main/res/ ...

改为使用:

aapt2 compile -o compiled/res/ app/src/main/res/values/values.xml
aapt2 compile -o compiled/res/ app/src/main/res/drawable/myImage.png --no-crunch
...
aapt2 link -R compiled/res/values_values.arsc.flat -R compiled/res/drawable_myImage.flat ...

标志

在标志的使用上还有更多的差异,例如,在"编译"步骤中,每个文件都使用"--pseudo-localize"one_answers"--no crunch"标志。有关AAPT2标志的完整信息,请键入:

aapt2 compile -h
aapt2 link -h

注意:将其视为对Izabela的答案的添加

Android O中Overlay Manager服务的作者在幻灯片中介绍了他们的工作并谈论了AAPT2(有关上下文,请参见幻灯片12-14)。该工具的官方文档现在在这里(由@Shrijana提供)

此外,如果有疑问,请查看源代码:https://android.googlesource.com/platform/frameworks/base/+/android-7.0.0_r7/tools/aapt2.

除了上面给出的答案,AAPT2的文档终于出来了。你可以在这里找到文档。如果您发现任何错误,请针对这些错误报告错误。

相关内容

  • 没有找到相关文章

最新更新