aapt命令介绍及常用命令实践
- D:\>aapt -h
- ERROR: Unknown command '-h'
- Android Asset Packaging Tool
- Usage:
- aapt l[ist] [-v] [-a] file.{zip,jar,apk}
- List contents of Zip-compatible archive.
- aapt d[ump] [--values] 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.
- aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \
- [- extension [- extension ...]] [-g tolerance] [-j jarfile] \
- [--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \
- [--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \
- [--rename-manifest-package PACKAGE] \
- [--rename-instrumentation-target-package PACKAGE] \
- [--utf16] [--auto-add-overlay] \
- [--max-res-version VAL] \
- [-I base-package [-I base-package ...]] \
- [-A asset-source-dir] [-G class-list-file] [-P public-definitions-file] \
- [-S resource-sources [-S resource-sources ...]] \
- [-F apk-file] [-J R-file-dir] \
- [--product product1,product2,...] \
- [-c CONFIGS] [--preferred-configurations CONFIGS] \
- [raw-files-dir [raw-files-dir] ...] \
- [--output-text-symbols DIR]
- Package the android resources. It will read assets and resources that are
- supplied with the -M -A -S or raw-files-dir arguments. The -J -P -F and -R
- options control which files are output.
- aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
- Delete specified files from Zip-compatible archive.
- aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
- Add specified files to Zip-compatible archive.
- aapt c[runch] [-v] -S resource-sources ... -C output-folder ...
- Do PNG preprocessing on one or several resource folders
- and store the results in the output folder.
- aapt s[ingleCrunch] [-v] -i input-file -o outputfile
- Do PNG preprocessing on a single file.
- aapt v[ersion]
- Print program version.
- Modifiers:
- -a print Android-specific data (resources, manifest) when listing
- -c specify which configurations to include. The default is all
- configurations. The value of the parameter should be a comma
- separated list of configuration values. Locales should be specified
- as either a language or language-region pair. Some examples:
- en
- port,en
- port,land,en_US
- If you put the special locale, zz_ZZ on the list, it will perform
- pseudolocalization on the default locale, modifying all of the
- strings so you can look for strings that missed the
- internationalization process. For example:
- port,land,zz_ZZ
- -d one or more device assets to include, separated by commas
- -f force overwrite of existing files
- -g specify a pixel tolerance to force images to grayscale, default
- -j specify a jar or zip file containing classes to include
- -k junk path of file(s) added
- -m make package directories under location specified by -J
- -u update existing packages (add new, replace older, remove deleted files)
- -v verbose output
- -x create extending (non-application) resource IDs
- -z require localization of resource attributes marked with
- localization="suggested"
- -A additional directory in which to find raw asset files
- -G A file to output proguard options into.
- -F specify the apk file to output
- -I add an existing package to base include set
- -J specify where to output R.java resource constant definitions
- -M specify full path to AndroidManifest.xml to include in zip
- -P specify where to output public resource definitions
- -S directory in which to find resources. Multiple directories will be scanned
- and the first match found (left to right) will take precedence.
- - specifies an additional extension for which such files will not
- be stored compressed in the .apk. An empty string means to not
- compress any files at all.
- --debug-mode
- inserts android:debuggable="true" in to the application node of the
- manifest, making the application debuggable even on production devices.
- --min-sdk-version
- inserts android:minSdkVersion in to manifest. If the version is or
- higher, the default encoding for resources will be in UTF-.
- --target-sdk-version
- inserts android:targetSdkVersion in to manifest.
- --max-res-version
- ignores versioned resource directories above the given value.
- --values
- when used with "dump resources" also includes resource values.
- --version-code
- inserts android:versionCode in to manifest.
- --version-name
- inserts android:versionName in to manifest.
- --custom-package
- generates R.java into a different package.
- --extra-packages
- generate R.java for libraries. Separate libraries with ':'.
- --generate-dependencies
- generate dependency files in the same directories for R.java and resource
- package
- --auto-add-overlay
- Automatically add resources that are only in overlays.
- --preferred-configurations
- Like the -c option for filtering out unneeded configurations, but
- only expresses a preference. If there is no resource available with
- the preferred configuration then it will not be stripped.
- --rename-manifest-package
- Rewrite the manifest so that its package name is the package name given here.
- Relative class names (for example .Foo) will be changed to absolute names with the old package so that the code
- does not need to change.
- --rename-instrumentation-target-package
- Rewrite the manifest so that all of its instrumentation components target the given package. Useful when used in
- conjunction with --rename-manifest-package to fix tests against a package that has been renamed.
- --product
- Specifies which variant to choose for strings that have product variants
- --utf16
- changes default encoding for resources to UTF-. Only useful when API
- level is set to or higher where the default encoding is UTF-.
- --non-constant-id
- Make the resources ID non constant. This is required to make an R java class
- that does not contain the final value but is used to make reusable compiled
- libraries that need to access resources.
- --error-on-failed-insert
- Forces aapt to return an error if it fails to insert values into the manifest
- with --debug-mode, --min-sdk-version, --target-sdk-version --version-code
- and --version-name.
- Insertion typically fails if the manifest already defines the attribute.
- --output-text-symbols
- Generates a text file containing the resource symbols of the R class in the specified folder.
- --ignore-assets
- Assets to be ignored. Default pattern is:
- !.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~
1、aapt l[ist] [-v] [-a] file.{zip,jar,apk} #列出指定apk包的所有内容
-v 以table形式列出
-a 详细列出内容
D:\>aapt l f:\resign\ListenerApk.apk
res/anim/alpha_anim_in.xml
res/anim/alpha_anim_out.xml
res/anim/in_from_left.xml
res/anim/in_from_right.xml
......
res/drawable-xxhdpi/ic_launcher.png
classes.dex
org/apache/http/entity/mime/version.properties
org/achartengine/image/zoom-1.png
org/achartengine/image/zoom_in.png
org/achartengine/image/zoom_out.png
META-INF/MANIFEST.MF
META-INF/CERT.SF
META-INF/CERT.RSA
2、aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]] #查看指定apk的相关信息
常用两个命令:
aapt dump badging f:\resign\ListenerApk.apk #获取标签(package&Acvitity)和图标相关信息
aapt dump permissions f:\resign\ListenerApk.apk #获取指定apk所具有的权限
3、aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...] #删除指定apk的file1文件
aapt r f:\resign\ListenerApk.apk META-INF/MANIFEST.MF #删除f:\resign\ListenerApk.apk里的META-INF/MANIFEST.MF文件,可以通过aapt -l来验证是否删除成功
4、aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...] #往指定apk中添加File1文件
aapt a f:\resign\ListenerApk.apk test.txt #往f:\resign\ListenerApk.apk添加当前目录下的test.txt文件
5、编译Android资源
aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \
[-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \
[--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \
[--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \
[--rename-manifest-package PACKAGE] \
[--rename-instrumentation-target-package PACKAGE] \
[--utf16] [--auto-add-overlay] \
[--max-res-version VAL] \
[-I base-package [-I base-package ...]] \
[-A asset-source-dir] [-G class-list-file] [-P public-definitions-file] \
[-S resource-sources [-S resource-sources ...]] \
[-F apk-file] [-J R-file-dir] \
[--product product1,product2,...] \
[-c CONFIGS] [--preferred-configurations CONFIGS] \
[raw-files-dir [raw-files-dir] ...] \
[--output-text-symbols DIR]
-f 如果编译出来的文件已经存在,强制覆盖
-m 使生成的包的目录放在-J参数指定的目录
-J 指定生成的R.java的输出目录
-S res文件夹路径
-A assert文件夹的路径
-M AndroidManifest.xml的路径
-I 某个版本平台的android.jar的路径
-F 具体指定apk文件的输出
如:
A、将工程的资源编译R.java文件
aapt package -m -J <R.java目录> -S <res目录> -I <android.jar目录> -M <AndroidManifest.xml目录>
B、将工程的资源编译编译到一个包里
aapt package -f -S <res目录> -I <android.jar目录> -A<assert目录> -M <AndroidManifest.xml目录> -F <输出的包目录>
6、显示aapt版本号
aapt v
aapt命令介绍及常用命令实践的更多相关文章
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- redis 介绍和常用命令
redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...
- webpack 介绍 & 安装 & 常用命令
webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...
- 封装:Cmd命令调用和常用命令
原文:封装:Cmd命令调用和常用命令 一.Cmd命令调用方法 1.静态方法调用 class Program { static void Main(string[] args) { // Todo :打 ...
- redis学习(二) redis数据结构介绍以及常用命令
redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...
- LVM基本介绍与常用命令
一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...
- vim编辑器介绍及其常用命令
vim简单的介绍 Vim 编辑器是一个模式编辑器 . 这意味着在不同状态下编辑器有不同的行为模式 . 两个基本的模式是 Normal 模式和 Insert 模式 ,还有可视模式. 在 Normal 模 ...
- [Python]Conda 介绍及常用命令
一.介绍 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Python 包.其使用conda系统进行 ...
- webpack学习(一):webpack 介绍&安装&常用命令
一.简单介绍 什么是Webpack Webpack是一款用户打包前端模块的工具,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 主要是用来打包在浏览器端使用的ja ...
随机推荐
- ajax加载模块实时刷新的原理
var loadMenu = function(data) { var trs = template.render('menu-list-temp', {'list': data}); ...
- [Android Pro] CountDownTimer倒计时
定时执行在一段时候后停止的倒计时,在倒计时执行过程中会在固定间隔时间得到通知(译者:触发onTick方法),下面的例子显示在一个文本框中显示一个30s倒计时: new CountdownTimer(3 ...
- 解决win10无法完成更新 正在撤销更改
删除Windows 更新缓存文件按Windows+X,选择“命令提示符(管理员)”:输入:net stop wuauserv,回车(此处会提醒服务停止):输入: %windir%\SoftwareDi ...
- Android 添加cookie
/** * 添加cookie * * @param url */ private void setCookie(String url) { // 获取uid String uid = UserData ...
- MetaWeblog博客客户端工具之Windows Live Writer
吐槽&注意的坑: 刚听说了有这么一个东西,据说Windows Live Writer开源之后就改名为Open Live Writer,我以为Open Live Writer就要比Windows ...
- Python中format的用法
自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱.语法 它通过{}和: ...
- sdut 2603:Rescue The Princess(第四届山东省省赛原题,计算几何,向量旋转 + 向量交点)
Rescue The Princess Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Several days ago, a b ...
- HTML - DOCTYPE
HTML - DOCTYPE HTML 5 doctype <!DOCTYPE html> HTML4.01 Based on SGML. so the browser need the ...
- 数据结构之图 Part2 - 1
邻接矩阵 网上很少有C# 写图的数据结构的例子,实际的项目中也从来没用过Array 这坨东西,随手写个,勿喷. namespace LH.GraphConsole { public struct Gr ...
- bzoj 1415 期望+记忆化搜索 ****
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdkAAAIfCAIAAACzfDFhAAAgAElEQVR4nOy9bVwTW57vm5fnhed+Pn