41.Android aapt工具

article/2025/10/28 11:59:47

41.Android aapt工具

  • Android aapt工具
    • aapt 介绍
    • aapt 环境配置
    • aapt list
    • aapt dump
    • aapt package
    • 其他命令


aapt 介绍

可参考官方文档: http://www.androidcn.net/wiki/index.php/Reference/aapt

aapt stands for Android Asset Packaging Tool and is included in the tools/ directory of the SDK. This tool allows you to view, create, and update Zip-compatible archives (zip, jar, apk). It can also compile resources into binary assets.

Though you probably won’t often use aapt directly, build scripts and IDE plugins can utilize this tool to package the apk file that constitutes an Android application.

For more usage details, open a terminal, go to the tools/ directory, and run the command:

Linux or Mac OS X:
./aapt
Windows:
aapt.exe

aapt 为 Android Asset Packaging Tool , 在SDK的tools/目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件。

尽管你可能没有直接使用过aapt工具, 但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序.

获取更多的实用信息, 请打开终端控制台, 到tools/目录下, 执行命令:
Linux or Mac OS X:
./aapt
Windows:
aapt.exe


aapt 环境配置

aapt工具位于:sdk/buid-tools/android-[version]/aapt

  • Windows环境的话,可以直接在环境变量里配置一个PATH,指定到sdk/buid-tools/android-[version]即可。

  • Mac环境的话,我用的是Oh My Zsh,所以直接vi ~/.zshrc,以下是我配置:

# Add Android build-tools AAPT variable
AAPT_HOME=/Users/CaMnter/Android/adt-bundle-mac-x86_64-20140702/sdk/build-tools/23.0.2
export AAPT_HOME
export PATH=$PATH:$AAPT_HOME

然后在命令行下输入:aapt。
aapt_show

可以看到 aapt 的所有命令,和命令对应有哪些参数。


aapt list

aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.

  • 查看apk目录:
    aapt l *.apk
    aapt_l

  • 查看apk目录,以表格形式输出:
    aapt l -v *.apk
    Method : 压缩形式 , Deflate 或 Stored 。
    Ratio : 压缩率
    CRC-32 : 循环冗余校验
    aapt_l_-v

  • 详细查看apk目录:
    aapt l -a *.apk
    aapt_l_-a


aapt dump

aapt d[ump] [–values] [–include-meta-data] WHAT file.{apk} [asset [asset …]]
strings Print the contents of the resource table string pool in the APK.
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
resources Print the resource table from the APK.
configurations Print the configurations in the APK.
xmltree Print the compiled xmls in the given assets.
xmlstrings Print the strings of the given compiled xml assets.

  • 查看apk:package、sdkVersion、targetSdkVersion、application-label、launchable-activity、feature-group等信息:
    aapt d badging *.apk
    aapt_d_badging

  • 查看apk权限:
    aapt d permissions *.apk
    aapt_d_permissions

  • 查看apk资源:
    aapt d resources *.apk
    aapt_d_resources

  • 查看apk配置:
    aapt d configurations *.apk
    aapt_d_configurations

  • 查看xml的树形结构:
    aapt d xmltree *.apk res/*.xml
    aapt_d_xmltree

  • 查看xml中所有的string:
    aapt d xmlstrings *.apk res/*.xml
    aapt_d_xmlstrings

  • 查看信息后输出文件:
    aapt d ... >*.txt
    aapt_d_log_1
    查看输出:
    aapt_d_log_2


aapt package

  • 生成R.java:
    先定位到项目目录下
    aapt package -m -J ~/temp/ -S app/src/main/res -I /Users/CaMnter/Android/adt-bundle-mac-x86_64-20140702/sdk/platforms/android-23/android.jar -M /Users/CaMnter/GitHub/AndroidLife/app/src/main/AndroidManifest.xml
    -J ~/temp/ : 设置输出目录
    -S app/src/main/res: 资源文件res目录
    -I /Users/CaMnter/Android/adt-bundle-mac-x86_64-20140702/sdk/platforms/android-23/android.jar: android.jar路径
    **-M /Users/CaMnter/GitHub/AndroidLife/app/src/main/AndroidManifest.xml:**AndroidManifest绝对路径

  • 生成资源文件
    还是先定位到项目目录下
    aapt package -f -M /Users/CaMnter/GitHub/AndroidLife/app/src/main/AndroidManifest.xml -S app/src/main/res -A app/src/main/assets -I /Users/CaMnter/Android/adt-bundle-mac-x86_64-20140702/sdk/platforms/android-23/android.jar -F ~/log/resouces
    **-M /Users/CaMnter/GitHub/AndroidLife/app/src/main/AndroidManifest.xml:**AndroidManifest绝对路径
    -S app/src/main/res: 资源文件res目录
    -A app/src/main/assets: assets目录
    -I /Users/CaMnter/Android/adt-bundle-mac-x86_64-20140702/sdk/platforms/android-23/android.jar: android.jar路径
    -F ~/log/resouces: resouces.arsc存放路径


其他命令

输出aapt版本

aapt v[ersion]
Print program version.


删除apk中指定文件

aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 …]
Delete specified files from Zip-compatible archive.


添加指定文件到apk中

aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 …]
Add specified files to Zip-compatible archive.


http://chatgpt.dhexx.cn/article/GJNHFsLb.shtml

相关文章

[Android]aapt使用小结

aapt命令小结 aapt即Android Asset Packaging Tool.本文小结了一下该工具的用法。 1. aapt l[ist] [-v] [-a] file.{zip,jar,apk} List contents of Zip-compatible archive. 1.1 列出压缩文件目录 aapt l <file_path.apk> 参数: -v:会以table的形式输出目录,ta…

[aapt包管理]aapt查询Apk最低支持的Android版本

向电视盒子中安装DSvideo_TV.apk时&#xff0c;报盒子版本过低(16年的盒子比较老旧了)&#xff0c;因此想查一下DSvideo_TV.apk支持的最低Android版本&#xff0c;从而针对性的进行盒子更新。 1、如何获取APK支持的最低Android版本&#xff1f; 第一时间想到的是Android SDK提…

Android中aapt使用详解

aapt是Android sdk中提供的一个小工具&#xff0c;功能十分强大。appt&#xff1a;Android Asset Packaging Tool &#xff0c;在sdk的build-tools下&#xff0c;这个工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件。我们可能没有…

aapt命令详解

aapt是android自动打包工具之一。 环境配置&#xff1a; aapt一般在android sdk的build-tools中对应文件夹里面&#xff0c;将其路径添加到环境变量中&#xff0c;即可在命令行中直接使用aapt命令&#xff1b; aapt参数详解 aapt 命令后可直接查看参数详解 aapt l[ist] [-v…

aapt 命令查看apk包名(aapt命令大全)

1 aapt是什么&#xff1a; aapt即Android Asset Packaging Tool&#xff0c;在SDK的build-tools目录下。该工具可以查看&#xff0c;创建&#xff0c; 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件&#xff0c;尽管你可能没有直接使用过aapt工具&…

aapt命令的使用

一.背景 1.最初使用aapt是为了做安卓应用的安全性测试。对于普通用户权限的应用我们通常使用的方法是在shell下run-as ,如返回值为run-as: Package ‘’ is not debuggable,我们就认为测试通过。在我们的安卓平台从7.x升为9.x以后&#xff0c;以后我们测试的应用改为系统权限&a…

Word插入公式自动编号+交叉引用

针对于word自带的公式编辑器 一、公式编号 1.插入公式 ‘“alt”“” &#xff0c;弹出插入公式&#xff0c;此处推荐SimpleTex可直接截图识别公式&#xff0c;直接复制进word&#xff0c;亲测好用。 2. 编号 2.1 公式后添加“#”&#xff0c;光标放在"#"后。 2.2…

批量删除引用#批量删除交叉引用

批量删除引用 原文如下&#xff1a; 批量删除引用操作 1&#xff09;ctrH进行替换操作 2&#xff09;特殊格式选中“尾注标记” 3&#xff09;然后被替换的内容就会变^e 4&#xff09;全部替换后如图 批量删除交叉引用 如上图还存在交叉引用没有被删除 更新域之后 替换…

在毕业设计论文Word中交叉引用参考文献

前言&#xff1a;临近毕业季&#xff0c;撰写毕业设计论文是非常关键的一步&#xff0c;往往毕业论文需要引用大量参考文献才能论证自己的研究内容&#xff0c;且参考文献需要交叉引用。 在学位论文中引用参考文献时&#xff0c;应在引出处的右上方用方括号标注阿拉伯数字编排…

论文写作:word连续交叉引用

文章目录 一、问题背景二、步骤 一、问题背景 在写作得时候&#xff0c;使用word的 “交叉引用”功能可以形成超链接格式的标号。但是交叉引用每次只能选择一篇论文&#xff0c;在连续选择多篇论文的时候&#xff0c;就是 “[1][2][3]” 而不是 “[1-3]” 这样的格式。 如图&a…

word交叉引用多个参考文献

1、对参考文献进行编号 2、引用–>交叉引用&#xff0c;插入多个参考文献 3、选中参考文献&#xff0c;右击选择切换域代码&#xff0c;得到&#xff1a; 4、在第一篇文献后添加 \#“[0”&#xff0c;最后一篇添加 \#“0]”&#xff0c;位于中间的文献添加 #“”&#xff0c…

Word交叉引用怎么才能只引用编号项

需求&#xff1a; 如上图&#xff0c;题注标签和引用的标签不一致&#xff0c;但 Word2016 只有【仅标签和编号】选项&#xff0c;没有仅标签选项。 解决方法&#xff1a; &#xff08;1&#xff09;插入题注>勾选【从题注中排除标签】 &#xff08;2&#xff09;在文中插…

word交叉引用的理解

交叉引用&#xff0c;就类似一个超链接&#xff0c;其状态跟自动生成的目录一样&#xff0c;只要按住ctrl键&#xff0c;单击后即可切换到引用的地方。 引用的类型包括对标题的引用&#xff0c;对图Figure 对表Table的引用等。 存在一个问题&#xff1a;自定义的标题&#xff…

Word 参考文献管理 - 交叉引用 + 批量修改上标

Word参考文献管理 - 交叉引用 批量修改上标 引言一、参考文献编号设置二、交叉引用三、域代码修改四、批量修改上标 引言 感觉Word参考文献管理不如Latex方便&#xff0c;但是有些论文必须要用word写… Word管理参考文献的三种方法1 详细总结Word交叉引用的流程如下&#xff…

参考文献的交叉引用

文章目录 插入参考文献寻找参考文献参考文献顺序更新 我们在写论文的时候需要引用参考文献&#xff0c;一般我们使用的是交叉引用&#xff0c;下面我详细的讲述一下如果在参考文献处加入交叉引用。 插入参考文献 寻找参考文献 参考文献顺序更新 像上图 我们发现参考文献的顺序…

word里面做交叉引用办法

1 列举自己的引用文献&#xff0c;右键选中《项目符号和编号》 2 选择想要的格式 圈1两侧加[] 3 引用-交叉引用 4 在需要插入的位置选择对应文献即可 记得一定要选《段落编号》 备注快捷键&#xff1a; 上角标快捷键是shiftctrlj加号 下角标快捷键是ctrlj加号

【参考文献交叉引用教程】

Word2021 参考文献交叉引用教程 0 前言1 格式分类2 格式设置方法2.1 引用单个参考文献2.2 引用两个连续的参考文献2.3 引用三个及以上连续的参考文献2.4 引用三个及以上非连续的参考文献 0 前言 对于多个参考文献引用的&#xff0c;简单来说&#xff0c;就是将引用切换到代码域…

word域代码交叉引用合并

word域代码交叉引用 一. 两个引用的情况二. 多个引用三、注意事项 一. 两个引用的情况 一般插入两个交叉引用之后的效果是这样的[1][5]&#xff0c;如果想变成[1,5]&#xff0c;就要用到域代码&#xff0c;步骤如下&#xff1a; 右键点击“切换域代码” 然后会变成这样&#xf…

IDA交叉引用详解

交叉引用 1.代码交叉引用2. 数据交叉引用3. 交叉引用列表 1.代码交叉引用 代码交叉引用的前缀为&#xff1a;CODE XREF如下图显示&#xff0c;箭头方向表示引用位置的相对方向。 每一个交叉引用的最后一位后缀表示引用的类型&#xff1a; o 普通流 &#xff0c;表示一条指令到…