GitHub |
您所在的位置:网站首页 › 解压工具包名字 › GitHub |
ATool
一、为什么会有ATool?
因为笔者的工作关系,经常需要查看或者修改APK信息(比如:APP名称、敏感权限、版本、包名和icon等信息)。一般,查看APK信息,我们会用到jadx或者aapt等工具来进行查看;而修改包体信息,我们可能会先用apktool对包体进行反编译,然后修改成自己想要的内容后再进行回编签名。 虽然apktool功能强大,基本上已经可以满足我们的需求,但是操作上还是相对比较繁琐。在使用apktool的过程中,笔者就想,能不能在apktool和aapt的基础上开发一个简单好用的工具,同时还可以兼容查看和修改信息的,于是就有了这个工具ATool。 二、ATool能做什么? 查看APP信息 APP名称 APP包名 版本信息 支持安装的版本 启动页面名称 APP的icon 导出icon 导出清单文件 修改APP内容 包名 版本名称 版本代号 APP名称关于Apk二次签: 使用ATool修改APP内容后,默认用debug.keystore进行签名打包。我们可以在CmdUtil类中进行修改,替换成自己的签名文件。 三、ATool是怎么工作的?查看Apk信息: 通过aapt获取Apk的信息(包名、版本、清单文件内容等) 直接获取Apk文件中的二进制文件进行解析、保存,高效快捷!!! 修改Apk内容: 利用apktool对Apk进行反编译和二次打包(我们只需要输入apk路径和替换的内容即可,ATool就会进行自动替换和签名打包,简单快捷!!!) 四、怎么使用ATool?###我们可以直接通过命令行来使用: 首先进入ATool所在的目录: 查看帮助信息: 输入命令行,完成操作: 五、开发实现Apk信息获取 我们可以通过aapt查看或者是利用apktool反编译后解析清单文件来获取。这里,因为我们只需要查看信息,所以笔者采用第一种方式,直接利用aapt命令来获取。 对应的aapt命令如下: aapt.exe d badging [apk路径] 其他常用的aapt命令: 查看APK中的AndroidManifest.xml内容 aapt d xmltree [apk路径] AndroidManifest.xml 查看APK中所用的权限列表 aapt d permissions [apk路径] AndroidManifest.xml 通过在命令行中输入以上命令,我们可以获取到这样的信息: package: name='com.example.example' versionCode='1' versionName='1.0' sdkVersion:'8' targetSdkVersion:'19' application-label:'Example' application-icon-160:'res/drawable-mdpi/ic_launcher.png' application-icon-240:'res/drawable-hdpi/ic_launcher.png' application-icon-320:'res/drawable-xhdpi/ic_launcher.png' application-icon-480:'res/drawable-xxhdpi/ic_launcher.png' application: label='Example' icon='res/drawable-mdpi/ic_launcher.png' application-debuggable launchable-activity: name='com.example.example.MainActivity' label='Example' ic on='' uses-feature:'android.hardware.touchscreen' uses-implied-feature:'android.hardware.touchscreen','assumed you require a touch screen unless explicitly made optional' main supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' densities: '160' '240' '320' '480'那么接下来, 我们要做的就是去通过这段内容中获取需要的apk信息,主要代码如下: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |