You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 14(UpsideDownCake)模拟器无法识别系统分区安装的证书求助

在Android 14(API 34)模拟器中安装系统级Proxyman证书的解决方案

问题背景

我们的Android自动化测试平台在API 33及以下模拟器中,通过常规方法将Proxyman证书推送至/system/etc/security/cacerts目录后,可正常在系统凭据UI中显示证书,且Proxyman能捕获应用正式版流量。但在Android 14(UpsideDownCake)模拟器中,证书已存在于目标路径,却无法被系统识别,UI中不显示证书,Proxyman抓包时出现「SSL Handshake Failed」错误。

核心原因

Android 14对系统证书的验证机制做了强化:

  • 新增SELinux安全上下文强制要求,证书文件必须带有system_cert_file上下文
  • 严格校验证书文件的权限与所有者,不符合要求的证书会被系统忽略

适配Android 14的安装步骤

  1. 启动可写系统分区的模拟器

    emulator -avd emulator_name -writable-system -no-snapshot-load
    

    (-no-snapshot-load参数避免快照导致的系统分区状态异常)

  2. 准备Proxyman证书文件

    • 生成证书哈希值:
      openssl x509 -inform PEM -subject_hash_old -in proxyman-ssl-proxying-certificate.pem | head -1
      
      得到类似30eb732c的哈希值
    • 生成符合命名规则的证书文件:
      cat proxyman-ssl-proxying-certificate.pem > 30eb732c.0
      openssl x509 -inform PEM -text -in proxyman-ssl-proxying-certificate.pem -out /dev/null >> 30eb732c.0
      
  3. 推送证书并修复系统验证信息

    • 配置系统分区可写并重启:
      adb root
      adb remount
      adb shell avbctl disable-verification
      adb reboot
      
    • 重启后重新获取权限并挂载分区:
      adb root
      adb remount
      
    • 推送证书到系统目录:
      adb push 30eb732c.0 /system/etc/security/cacerts/
      
    • 关键:修复证书权限与SELinux上下文:
      adb shell chmod 644 /system/etc/security/cacerts/30eb732c.0
      adb shell chown root:root /system/etc/security/cacerts/30eb732c.0
      adb shell restorecon /system/etc/security/cacerts/30eb732c.0
      
    • 再次重启模拟器使配置生效:
      adb reboot
      
  4. 验证安装结果

    • 检查证书的权限与上下文:
      adb shell ls -lZ /system/etc/security/cacerts/30eb732c.0
      
      输出需包含u:object_r:system_cert_file:s0的SELinux上下文信息
    • 打开模拟器设置,进入「安全/加密与凭据/可信凭据」,在「系统」标签下可找到Proxyman证书
    • 启动应用测试抓包,确认Proxyman可正常捕获流量,无SSL握手失败错误

API 33与Android 14的核心差异

  • Android 14强制要求系统证书文件拥有system_cert_file的SELinux上下文,API 33及以下无此严格校验
  • Android 14对证书文件的权限(必须为644)和所有者(必须为root:root)做了强制校验,不符合则不加载证书
  • Android 14强化了系统分区的验证机制,需确保avbctl disable-verification完全生效

内容的提问来源于stack exchange,提问作者Melquiades

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 10:35:08