apk常见工具使用【不定期更新】
程序员文章站
2022-04-11 15:48:20
...
前言
突发奇想,想写一遍工具的使用文章。会不定期更新。
导航
1. jarsigner
2. java*
3. adb
jarsigner签名
首先使用jarsigner -help
查看参数列表,这个工具是jdk中自带的。
jarsigner -verbose -keystore my_test_sign.store -signedjar out.apk input.apk key0 -storepass 123456 -digestalg SHA1 -sigfile CERT -sigalg MD5withRSA
-keystore
是我的签名文件,可以使用as创建,out.apk为签名后的文件,input.apk为未签名的文件, key0为别名,-storepass
签名文件的密码,-digestalg SHA1
摘要算法,如果不加会出现问题(不知道为什么)
jarsigner -verbose –verify out.apk
验证签名后的apk文件
java*
javap -s -p *.class #查看对应class的tag,在NDK开发中常用
adb
1. adb ?
2. adb install -r *.apk #替换原有的app
3. adb devices #显示连接设备
4. adb jdwp #查看设备中可以被调试的应用的进程号
5. adb logcat #查看日志文件
6. adb uninstall *.apk -k #保留数据
7. adb connect 127.0.0.0 :port
8. adb forward tcp:23946 tcp:23946
9. adb version
10. adb shell am start -n 包名/包名 类名
11. adb shell am force-stop 包名/包名 类名
12. adb shell pm clear 包名/包名 类名 #停止运行,并清除相关数据
13. adb shell ps | grep 。。。
14. adb shell dumpsys activity top #查看当前的活动
15. adb shell dumpsys package #查看指定包名应用的详细信息
16. adb shell screencap -p #路径 截图
17. adb shell screenrecord #路径 录屏
18. adb shell input text #输入文本内容
19. adb logcat -s tag #获取指定tag的日志
20. pm clear 包名 清空应用数据
22. am broadcast -a 发送一个广播
23. netcfg 查看设备的ip地址
24. netstat 查看设备的端口号信息
25. cat /proc/[pid]/maps 查看进程的内存映射信息 如加载了哪些so文件 dex文件
26. cat /proc/[pid]/status 查看进程的状态信息
27. cat /proc/[pid]/net/{tcp/tcp6/udp/udp6}
28. adb shell pm list packages 列出所有已安装的包名
29. adb shell pm path 包名 找到相应包名的位置
30. adb pull <path> 本地路径
4.12更新
新版baksmali
和smali
的使用
反编译dex
java -jar baksmali-2.2.1.jar d classes.dex
回编译smali
java -jar smali-2.2.1.jar a out
推荐阅读