当前位置: 首页 > 知识库问答 >
问题:

如何使用aapt2,文档在哪里?

楚洋
2023-03-14

我已经使用AAPT P打包资源并生成R.java

但是当我升级到Android 24时,我发现aapt2.exe

是否应该使用aapt2.exe?我怎么用它?我找不到任何关于它的文件。

共有1个答案

左丘烨烁
2023-03-14

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

除了新特性之外,AAPT2背后的主要思想是它将“打包”步骤分为两个:“编译”和“链接”。它提高了性能,因为如果只有一个文件更改,您只需要重新编译该文件,并使用'link'命令链接所有中间文件。

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

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 ...

在标志的使用方面有更多的不同,例如,在“compile”步骤期间,每个文件都使用“--pseudo-localize”和“--no-crunch”标志。有关AAPT2标志的完整信息,请键入:

aapt2 compile -h
aapt2 link -h
 类似资料:
  • 我正在查看connect文档,而方法或任何描述功能的方法(使用的第三个秘密参数)。我是盲人吗?或者我在哪里可以找到这些信息?

  • 我试图根据文档ID查询文档,但我无法使用 AFS是AngularFiRecovery类型 我不知道上面的代码是否正确。 我尝试了在中提到的解决方案:通过将ref.id替换为firebase来查询firestore数据库中的文档id。firestore。FieldPath。documentId(),但我收到一个错误: “Firebase”是指UMD全局,但当前文件是一个模块。 帮助我检索数据。

  • 问题内容: 我一直在尝试失败,在Dapper中使用with with子句已经有一段时间了。 在文档中,它确实说支持在a中使用,但我什至无法使它正常工作。 我不断收到的错误消息是Sql语法错误。 我整理了一些测试代码,希望它们能证明我正在尝试实现的目标。 问题答案: 为了执行此处需要的操作,dapper需要即时更改SQL-因此需要 真正 确保它在做正确的事情。常规有效的SQL语法包括括号: 为了消除

  • 问题内容: 我正在使用MongoDB数据库,该数据库的收集模型包括 班级 , 学生 , 学科 和[学术] 表现 。以下是基于猫鼬的架构和模型: 该集合的文件是最复杂的地段; 示例文档为: 我能够使用以下代码检索现有的班级文档并将其添加到分数中: 但是,如何添加/更新/删除该特定学生的成绩?我需要能够通过以下方式与集合进行交互: 检索所有学生或特定学生的分数(检索数组中的特定元素) 为特定主题添加/

  • 问题内容: 我在应用程序中对函数和我尝试过的包godoc -html以及应用程序和结果创建了简单的注释 为什么我没有看到其他文件?以及为什么包的空格 问题答案: 默认情况下,未记录未导出的标识符。至少设置为查看它们: 可以使用“ m” URL参数来控制godoc服务的网页的显示方式;它接受以逗号分隔的标志名称列表作为值: ones methods show all embedded methods

  • 我一直在使用jmeter对mongodb进行加载测试,接下来我将使用一个具有这些数据的不同的db 我已经在这里保存了已保存的mongoHost,mongoPort,databaseName,collectionName jmeter变量 这个连接测试通过了,但我无法从数据库中获取、读取任何数据并通过测试,这是代码 错误 谢谢你