栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

aapt 命令生成 R文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

aapt 命令生成 R文件

在做android的apk的二次打包工作中会经常使用到aapt,下面做个简单的随笔吧

appt(Android Asset Packaging Tool)是android sdk 里面的一个资源编译工具,AS打包生成apk过程中就使用了aapt,另外使用apktool进行decode和build也用到了aap在我们反编译一个apk后如果修改了AndroidManifest.xml中manifest元素的package属性后,我们需要重新联合res目录、AndroidManifest.xml、android.jar文件来生重新成R.jar文件,再通过dx.jar以及baksmali.jar最终生成R.samli、R$id.samli...,然后替换掉母包中使用到的老的R类或R$xxx引用,就能保证我们新构建的apk正常运行,否则可能报资源ID找不到的异常在android的sdk目录下的build-tools下能找到一个appt.exe文件,如图所示:接下来我们可以使用cmd命令生成R.java文件,首先我们要准备一个apk(母包),然后使用apktool命令(示例:apktool d  7.apk -f --only-main-classes )将其反编译出来得到一个目录,apktool的详细使用可参考CSDNhttps://mp.csdn.net/mp_blog/creation/editor/123645083如下是反编译后的目录,我们将使用这个目录来生成我们的R.java文件 接下来在母包目录下新建一个gen目录,为了方便我们使用命令,可以将aapt.exe以及android.jar 都拷贝到与apktool.jar同级的目录,如果不在同目录下,文件路径必须是绝对路径;然后执行命令aapt p -f -m -J G:workspaceapktool7gen -S G:workspaceapktool7res -I G:workspaceapktoolandroid.jar -M G:workspaceapktool7AndroidManifest.xml,可以看到已经生成了我们想要的R.java文件 p 编译生成R.java文件-f 如果编译出 来的文件已经存在,强制覆盖。-m 使生成的 包的目录放在-J参数指定的目录。-J 指定生成 的R.Java的输出目录-S res文 件夹路径-A assert文 件夹的路径-M AndroidManifest.xml的路径 -I 某个版本平台的android.jar的路径-F 具体指定apk文件的输出

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号