aapt 是android assert packaging tool的缩写,具体如下:

1. 列出apk包的内容

aapt l[ist] [-v] [-a] file.{zip,jar,apk}

-v 以table形式列出来

-a 详细列出内容

例如:aapt l ,这个命令就是查看apk内容

2. 查看apk一些信息

aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]

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 d permissions , 这个就是显示这个apk所具有的权限

3. 编译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,...] /

[raw-files-dir [raw-files-dir] ...]

这个比较复杂,只解释几个关键参数。

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

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

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

-S res文件夹路径

-A assert文件夹的路径

-M AndroidManifest.xml的路径

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

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

例如:

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

aapt package -m -J  -S  -I   -M

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

aapt package -f  -S  -I  -A  -M -F

4.  打包好的apk中移除文件

aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]

例如:aapt r AndroidManifest.xml, 这个就是将apk中的AndroidManifest移除掉

5. 添加文件到打包好的apk中

aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]

例如:aapt a , 这个就是将文件添加到打包好的apk文件中

6.  显示aapt的版本

aapt v[ersion]

例如:aapt v, 就是打印这个结果 Android Asset Packaging Tool, v0.2

java.lang AAPT_android R.java aapt相关推荐

  1. java.线程池 线程数_如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...

    java.线程池 线程数 此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因 ...

  2. 如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...

    此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因此它是在线程" ...

  3. java.lang.OutOfMemoryError:Java堆空间

    java.lang.OutOfMemoryError is thrown when JVM is unable to allocate memory to create an object. Java ...

  4. Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/

    起因是我在创建MAVEN的web项目时,默认的那些模板加载不出来,就想着自己先新建个项目再加web,结果报各种错,其中包括了: Picked up JDK_JAVA_OPTIONS:  --add-o ...

  5. 手动更新jar包中的class文件,报java.lang.ClassNotFoundException或java.lang.NoClassDefFoundError问题记录

    1.问题描述   本地代码运行无问题,手动更新class文件到jar包,部署到服务器的tomcat上启动时无报错,但登录网站使用 对应功能 时,报 java.lang.ClassNotFoundExc ...

  6. java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at java.lang.It

    错误信息: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at java.lan ...

  7. 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的

    已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的 ...

  8. 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确

    已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确 ...

  9. java类型转换异常_解决java.lang.ClassCastException的java类型转换异常的问题

    解决java.lang.ClassCastException的java类型转换异常的问题,异常,对象,错误,给大家,会报 解决java.lang.ClassCastException的java类型转换 ...

最新文章

  1. VS2017 配置 OpenGL 环境
  2. 强化学习(十四) Actor-Critic
  3. 注意:C语言结构体里不能赋初始值!
  4. 一键Ghost 脱机下载不再愁
  5. RocketMQ消息支持的模式-OrderProducer(顺序)
  6. 写你自己的MVC框架
  7. Android热修复Tinker接入文档
  8. DC中的一些命令随笔
  9. linux进程号函数,linux进程
  10. 74hc595级联c语言程序,74hc595级联程序范例
  11. copy linux file to mac,Mac Linux互相传递文件
  12. DataLogic 工业串口扫码器Python读取说明
  13. 李宏毅机器学习——课后作业1
  14. 爬虫——selenium模块的基本使用(qq空间的登录)
  15. 教师评语计算机实验报告作业,作业实验报告评语大全
  16. java encapsulation_Java Encapsulation vs Abstraction
  17. WPS如何并排放置两张图片_动图演示如何制作XRD叠图与PDF卡线图
  18. Excel单元格的相对绝对混合引用
  19. 精通Web Analytics 2.0 (7) 第五章:荣耀之钥:度量成功
  20. 大数据学习之HBase入门笔记

热门文章

  1. python 乱序数组,list等有序结构的方法
  2. python文本分类评价指标 top1如何计算_使用paddlehub自定义任务,具体是自定义文本分类任务中的评价指标时按照官方文档的方法做了之后报错了,请问应该如何解决?...
  3. 如何在golang中关闭bufio.reader_Golang 并发模型系列:1. 轻松入门流水线模型
  4. ggplot2笔记6:标度、轴和图例
  5. Error in **: incorrect number of subscripts on matrix
  6. python使用statsmodels包中的adfuller函数执行增强迪基-福勒检验(ADF检验、augmented Dickey-Fuller test)、判断时间序列数据是否平稳
  7. pandas使用replace函数将dataframe中None值以及其他异常编码值(例如,9999)替换为np.nan
  8. R语言ggplot2可视化:ggplot2可视化半小提琴图(Half Violin Plots)
  9. 什么是回归分析(regression analysis)?有哪些类型的回归分析(regression analysis)?
  10. R语言对数正态分布分布函数Log Normal Distribution(dlnorm, plnorm, qlnorm rlnorm)实战