aapt命令的使用-程序员宅基地

技术标签: android-studio  android  功能测试  android studio  

一.背景
1.最初使用aapt是为了做安卓应用的安全性测试。对于普通用户权限的应用我们通常使用的方法是在shell下run-as ,如返回值为run-as: Package ‘’ is not debuggable,我们就认为测试通过。在我们的安卓平台从7.x升为9.x以后,以后我们测试的应用改为系统权限,对于系统权限的app,run-as不再检查是否是debuggable,会显示“package not debuggable”。对此开发建议使用aapt的命令检查应用的安全性。
2.先将安卓应用pull到windows PC端然后使用aapt做安全性测试,具体的命令:
aapt l -a |findstr debuggle

二.aapt使用详解:

aapt是android自动打包工具之一。

环境配置:
aapt一般在android sdk的build-tools中对应文件夹里面,将其路径添加到环境变量中,即可在命令行中直接使用aapt命令;

aapt参数详解
aapt 命令后可直接查看参数详解

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

1.aapt l xxx.apk :查看apk目录

2.aapt l -a xxx.apk:详细列出apk内容;
若内容较多,可保存到本地文件中,如 aapt l -a xxx.apk > xxx.txt

3.aapt l -v xxx.apk : 以table的形式输出目录

1>table的表目有:Length、Method、Size、Ratio、Date、Time、CRC-32、Name。
2>其中Method表示压缩形式,有:Deflate及Stored两种,即该Zip目录采用的算法是压缩模式 or 存储模式。
3>可以看出resources.arsc、*.png采用压缩模式,而其它采用压缩模式。
4>Ratio表示压缩率。CRC-32未明其意,Sodino盼指教。

在这里插入图片描述
4.aapt dump 命令

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

1.aapt d badging xxx.apk :显示标签、图标和应用程序的相关描述
2.aapt d permissions xxx.apk :显示apk所具有的系统权限
3.aapt d resources xxx.apk :查看apk资源
4.aapt d configurations xxx.apk :查看apk配置
5.aapt d xmltree facebook_googleplay_V1.0.0.apk res/anim-v21/design_bottom_sheet_slide_out.xml :查看xml的树形结构
6.aapt d xmlstrings facebook_googleplay_V1.0.0.apk res/anim-v21/design_bottom_sheet_slide_out.xml :查看xml中所有的string
在这里插入图片描述
dump命令的应用场景举例之查询包名和版本号
在这里插入图片描述

参考文章:https://blog.csdn.net/qq_33912215/article/details/88965571

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43851795/article/details/102574276

智能推荐

qt 错误代码-程序员宅基地

文章浏览阅读947次。1.错误:-1073741819, 原因一般为未用new初始化变量。

activiti6.0学习笔记(一)_activity_v6evps0toj8-程序员宅基地

文章浏览阅读663次。参考:1:https://activiti.gitbook.io/activiti-7-developers-guide/getting-started 2:https://blog.csdn.net/gaojingyuan/article/details/78979716一:准备环境:我的环境:jdk1.8.0_112 intel..._activity_v6evps0toj8

react中的核心概念-程序员宅基地

文章浏览阅读74次。DOM:浏览器中提供的概念;虚拟DOM:框架中的概念;需要开发框架的程序员手动用JS对象来模拟DOM元素和嵌套关系;本质:用JS对象,模拟DOM树;目的:实现页面的按需更新;要求:点击列头,实现按需排序;1. 数据从哪儿来:从数据库查询而来2. 数据存放在哪:浏览器内存中以对象数组形式表示3. 如何渲染到页面:方案1:手动for循环整个数组。str+..._react三大核心概念

Python学习笔记(4)类_def roll_over(self): 语法错误-程序员宅基地

文章浏览阅读775次。《Python编程·从入门到实践》学习笔记·类_def roll_over(self): 语法错误

Spark-SparkEnv 源码解析-程序员宅基地

文章浏览阅读126次。Spark-SparkEnv 源码解析SparkEnv ObjectSparkEnv Object属性SparkEnv Object方法create方法,比较重要的方法:SparkEnv ClassSparkEnv ObjectSparkEnv的伴生对象。下面是他的构造方法:SparkEnv Object属性@volatile private var env: SparkEnv = _ ..._sparkenv 源码

【Python自然语言处理】计算文本相似度实例(使用difflib,fuzz,余弦三种计算方式 附源码)_计算文本相似度的文本推荐-程序员宅基地

文章浏览阅读4.3k次,点赞48次,收藏87次。【Python自然语言处理】计算文本相似度实例(使用difflib,fuzz,余弦三种计算方式 附源码)_计算文本相似度的文本推荐

随便推点

android studio不配java环境变量_配置Java环境变量和安装Androidstudio-程序员宅基地

文章浏览阅读398次。重装系统了,还得重新配置Java环境变量,早忘了==所以这次得记下来安装好jdk以后(别忘了安装的位置-待会要用)-单击环境变量-新建用户变量--变量名JAVA_HOME变量值 即jdk的安装路径D:\Program Files\Java\jdk1.8.0_101-新建系统变量--变量名 CLASSPATH变量值 D:\Program Files\Java\jdk1.8.0_101\lib ..._android studio不配置环境会怎么样

java获取资源文件_Java 读取resources下的资源文件-程序员宅基地

文章浏览阅读336次。Web项目中应该经常有这样的需求,在maven项目的resources目录下放一些文件。比如一些配置文件,资源文件等。文件的读取方式有好几种方式,本文会对常用的读取方式做一个总结,并说明一下应该注意的地方。准备工作新建一个spring-test 的maven项目,resources目录下创建测试文件conf.properties、city_code.json (json文件夹下)。添加pom依赖使..._通过classload读resource文件不能加\?

5个并发处理技巧-程序员宅基地

文章浏览阅读924次。原文:5 Tips on Concurrency 作者:Igor Sorokin 译者:Teixeira10【译者注】在本文中,作者总结出了5个关于处理并发性程序的技巧,并给出代码示例,让读者更好地理解和使用这5种方法。 以下为译文:1.捕获InterruptedException错误请检查下面的代码片段:public class Task implements Runnab..._并发处理技巧

html中点击图标变色,AngularJS实现按钮提示与点击变色效果-程序员宅基地

文章浏览阅读809次。本文用angularJS简单实现了一个小的按钮提示,按钮点击后会变色,注意html文件中需要引入jquery.js和angular.js运行截图:当点击按钮的时候 按钮的样式改变:css代码:*{margin: 0px;padding: 0px;}.bucSelectedButton{width: 100px;line-height: 30px;text-align: center;positio..._html点击一个按钮以后按钮变色

linux上清空一个文件,技术|Linux 下清空或删除大文件内容的 5 种方法-程序员宅基地

文章浏览阅读1.7k次。在 Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何 Linux 命令行编辑器 去打开这些文件。那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来清空文件内容的方法。注意:在我们进一步深入了解这些方法之前,请记住: 由于在 Linux 中一切皆文件,你需要时刻注意,确保你将要清空的文件不是重要的用户文件或者系统文件。清空重要的系统文件或者配置文件可...

定点数的加减运算及实现_定点数的实现-程序员宅基地

文章浏览阅读2k次。求补运算:将原码包括符号位在内每一位取反,末位加1。补码加减运算方法:[X+Y]补=[X]补+[Y]补[X−Y]补=[X]补+[−Y]补\begin{aligned}[X+Y]_补&=[X]_补+[Y]_补\\[X-Y]_补&=[X]_补+[-Y]_补\end{aligned}[X+Y]补​[X−Y]补​​=[X]补​+[Y]补​=[X]补​+[−Y]补​​使用补码进行加减运算,符号位和数值位一样参加运算;补码的减法可以用加法来实现,任意两数之差的补码等于被减数的补码与减_定点数的实现