工具选择
Charles 或 Fiddler 都可以
在PC上安装工具并进行设置
设置按官网说明设置一下好。
Charles设置
Fiddler设置
Android Api Level >= 24 SSL特殊设置
当Android 的 Api Level > 24时需要修改一下app的一起配置
1.在项目中添加 Android/src/main/res/xml/network_security_config.xml
xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<!-- Trust preinstalled CAs -->
<certificates src="system" />
<!-- HERE: Additionally trus user-added CAs -->
<certificates src="user"/>
</trust-anchors>
</base-config>
</network-security-config>
2.在AndroidManifest.xml中的application中添加networkSecurityConfig属性
xml
android:networkSecurityConfig="@xml/network_security_config"
结果如下:
xml
<application
android:name="com.tns.NativeScriptApplication"
android:allowBackup="true"
android:icon="@drawable/icon"
android:networkSecurityConfig="@xml/network_security_config">
...
问题
我是想要查看别人的apk包,要怎么添加上面提到的配置呢?
方案
1. apktool 解包
shell
apktool d xxx.apk -o xxx_folder
2. 修改及添加相关xml配置
3. apktool 打包
shell
apktool b xxx_folder -o xxx_tmp.apk
4. 使用zipalign将apk包4字节对齐
shell
zipalign -p -f -v 4 xxx_tmp.apk xxx_final.apk
5. 签名
不签名的apk是无法安装的, 使用自己的key签名
shell
apksigner sign --ks <your_keystore> --ks-key-alias <your_key_alias> --out xxx_final_sign.apk xxx_final.apk
xxx_final_sign.apk 即为修改后的最终文件。