一、安卓常用命令
-
adb 相关的
-
adb devices
查看当前已连接的 android 设备号
-
adb -s 设备号 install xxx.apk
安装 apk
-
-
apk 相关的
-
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore Untitled -storepass 123456 newApk.apk key0
apk 重签名的命令,一般结合 apk 反编译工具 apktool 、apk对齐工具使用。使用次序是:一般是先反编译(apktool b xxx.apk),完成修改操作,再回编译(apktool d xxx.apk),再进行重签名,最后 apk 对齐。
参数(可替换的部分已加粗)说明:
- Untitled :是签名文件的名称
- 123456 :是签名文件对应的密码
- key0 :是签名文件对应的别名
- newApk.apk :需要重签名的 apk 包体的文件名
-
二、安卓常用的工具
-
as(android studio,简称 as)
最常用的集成开发工具。常用于 android 应用的开发、打包分发、apk 运行日志捕获查看(logcat)等。
-
jadx
常用的反编译工具。用于反编译查看搜索 apk 相关源码。
-
apktool
常用的反编译工具。用于反编译 apk 包体(命令:apktool d xxx.apk)、回编译 apk 包体(命令:apktool b xxx.apk)等。目的是:为了方便对 apk 包体的相关资源(如 R 文件资源等)、smali 源码等进行操作(如替换 smali 源码等)
-
zipalign
apk 对齐工具。一般结合 apktool、apk 重签名命令 jarsigner 一起使用。目的是为了优化重签名后的 apk 包体,提升 apk 的运行速度。
使用格式:
先 cd 进入 Library/Android/sdk/build-tools/,进入对应的版本,如:33.0.2,即可在版本的目录下使用下面的命令(可替换的部分已加粗):
./zipalign -v 4 /Users/pilipala/Documents/Android/包体输出/newApk.apk /Users/pilipala/Documents/Android/包体输出/newApk2.apk
参数说明:
参数1: 需要做 apk 对齐的包体;
参数2: 对齐完成后输出的新包体;
-
Charles
花瓶,抓包工具。用于抓取 apk 运行的网络请求。
三、安卓常用的输助开发语言
-
java
可用于编写、维护 android 应用等。可利用 as、idea 等进行编写。
-
python、shell
可用于编写 android 相关脚本(如修正 apk 包体中 R 资源文件的 id 等)。可利用 sublime text (轻量级应用)等进行编写。