ROOT AVD
首先,通过 android studio 进行创建 AVD。
通过运行 https://gitlab.com/newbit/rootAVD 来获取 ROOT。
执行命令
~/Library/Android/sdk/emulator/emulator -avd Pixel_9_API_30 -writable-system -selinux disabled -qemu
要注意 Pixel_9_API_30 是创建 AVD 的时候的名字。此时可通过命令行启动模拟器,而 android studio 的连接模拟器已不可用。
信任证书
android 信任证书需要在 encryption & credentials 进行设置。
安装 MagiskTrustUserCerts 到 Magisk 模块
下载 zip 后,推到手机,Magisk 选择 zip 进行安装。 reboot。 重复导入用户证书,可以看到用户证书已经出现在系统证书。 但是这里获取的请求与 浏览器 中的请求是一致的。 Wi-Fi proxy,如果是原生请求却无法抓取到。
APK 增加 debuggable 重打包
安装后,验证证书失败。 看一下如何重新签名
链接: https://developer.android.com/tools/apksigner
增加 debuggable
java -jar apktool_2.11.0.jar b 2_51e14bec1d9352a0228b8b989d38469e -o new_app.apk
重新打包
~/Library/Android/sdk/build-tools/35.0.1/apksigner sign --ks ~/.android/debug.keystore --ks-pass pass:android --v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled true new_app.apk
正常结果
~/Library/Android/sdk/build-tools/35.0.1/apksigner verify 2_51e14bec1d9352a0228b8b989d38469e.apk
成功的信息如下:
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Verified using v3.1 scheme (APK Signature Scheme v3.1): false
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
APK 在使用 v1(JAR 签名)和 v2(APK Signature Scheme v2)方案时验证是成功的,但 v3、v3.1、v4 方案以及 SourceStamp 验证失败。不过,通常 v1 和 v2 验证通过就意味着 APK 签名基本有效
~/Library/Android/sdk/build-tools/35.0.1/apksigner sign --ks ~/.android/debug.keystore --ks-pass pass:android --v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled true new_.apk
附录
~/Library/Android/sdk/platform-tools/adb
将用户证书转移到系统证书: adb是生产环境使用,无法执行以下命令
~/Library/Android/sdk/platform-tools/adb root
~/Library/Android/sdk/platform-tools/adb remount
~/Library/Android/sdk/platform-tools/adb push rootCA.cer /system/etc/security/cacerts/
~/Library/Android/sdk/platform-tools/adb shell chmod 644 /system/etc/security/cacerts/rootCA.cer
~/Library/Android/sdk/platform-tools/adb push /Users/alex.liu/Downloads/rootCA.cer /sdcard/Download/11.cer
~/Library/Android/sdk/platform-tools/adb shell