AAPT常用基本命令介绍

1,619 阅读2分钟

AAPT是什么?

aapt 是Android Asset Packaging Tool的缩写,是编译和打包资源的工具,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk),也可以将资源文件编译成二进制文件。使用aapt前要在环境变量里配置SDK-tools路径,或者进入该目录运行aapt。尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。

PS:Android Gradle Plugin 3.0.0或者更高版本默认开启aapt2(API24,Android7.0)

AAPT常用基本命令

  1. aapt list [-v] [-a] file.{zip,jar,apk} 列出压缩文件的目录内容

      -v 以table形式输入详细信息

      -a 详细输出压缩文件中所有目录的内容

image.png

2. aapt dump [-values] + apk

        badging  查看APK中的配置信息,包括package name, versionCode, versionName, platformBuildVersionName等。

image.png

permissions 获取指定APK中声明的权限信息

image.png

        configuration 打印APK中配置信息

image.png

        xmltree 获取指定APK的指定xml文件

image.png

        xmlstrings 打印xml文件中所有字符串信息

image.png

  1. aapt remove [-v] + apk+ file

删除指定apk的file文件,并可以通过aapt -list验证是否删除成功

  1. aapt add [-v] + apk +file

向指定apk中添加file文件

5. 编译Android资源

aapt package [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \

Ø  -f 如果编译出来的文件已经存在,强制覆盖

Ø  -m 使生成的包的目录放在-J参数指定的目录

Ø  -J 指定生成的R.java的输出目录

Ø  -S res文件夹路径

Ø  -A assert文件夹的路径

Ø  -M AndroidManifest.xml的路径

Ø  -I 某个版本平台的android.jar的路径

Ø  -F 具体指定apk文件的输出

例:

1.将工程的资源编译成R.java文件

aapt package -m -J <R.java目录> -S <res目录> -I <android.jar目录> -M <AndroidManifest.xml目录>

2.将工程的资源编译到一个包里

aapt package -f -S <res目录> -I <android.jar目录> -A<assert目录> -M <AndroidManifest.xml目录> -F <输出的包目录>

6. aapt v[ersion]

查看aapt版本信息

 

 

参考文档:

developer.android.com/studio/comm…