ljzxloaf
V2EX  ›  问与答

怎么在 x86 机器上调试 arm 架构的安卓 app

  •  
  •   ljzxloaf · Aug 14, 2021 · 3395 views
    This topic created in 1868 days ago, the information mentioned may be changed or developed.

    试了两种方法:第一种直接用 x86 的 avd,少数 app 可以运行,绝大部分都有问题;第二种用 arm avd,直接 run 不起来。。(都是 android studio 上自带的 device manager 生成的 avd )。

    应该是我的姿势不对。

    现在的 app 基本上都是 arm 架构的吧(解压看 lib 文件夹里都是 armxxx ),请教下大家是怎么在 x86 机器上调试 arm app 的。

    12 replies  •  2021-08-14 23:33:11 +08:00
    timpaik
        1
    timpaik  
       Aug 14, 2021 via Android
    qemu
    hikari
        2
    hikari  
       Aug 14, 2021
    要用模拟器的话,sdk 29 还是 30 之后的,x86 的机器 跑 arm 的速度就很快了
    官方的博客也写过这个
    https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html
    MLawliet
        3
    MLawliet  
       Aug 14, 2021
    一直在用 Genymotion + 各 android 版本对应的 Translation 补丁,还能凑合用,也不是很稳定
    WebKit
        4
    WebKit  
       Aug 14, 2021 via Android
    国产的夜神模拟器。网易 mumu 都可以流畅运行
    marczhao
        5
    marczhao  
       Aug 14, 2021
    @hikari #2
    那个是说,有 ARM 的 Binary Translation 了。
    Android11,Android studio 里面 Gapps 版镜像自带。
    早就有了。

    再不济,Anbox 弄个带 houdini 的镜像也可以。
    marczhao
        6
    marczhao  
       Aug 14, 2021
    @marczhao #5
    补充:houdini 指 libhoudini

    另,好奇你想用来干什么。
    irytu
        7
    irytu  
       Aug 14, 2021 via iPhone
    qemu 吧
    ljzxloaf
        8
    ljzxloaf  
    OP
       Aug 14, 2021
    @marczhao #6 对的,我直接用的 11 的 image,按官方的说法是兼容 arm 的,但是我用下来大部分都不行。我是想看看一些 app 的设备指纹是怎么取的
    marczhao
        9
    marczhao  
       Aug 14, 2021 via iPhone   ❤️ 1
    @ljzxloaf #8
    建议止步。
    除非你想尝试反编译,之后欣赏各种 nzbzc 混淆字典。
    甚至尝试反编译 native binary (👴警告)。

    先了解一下吧。
    设备指纹:
    如果你是用户,想防,thanox xprivacylua 请。
    如果你是想做,直接读 sim 卡 iccid,保证唯一,还能跟着手机号跑(就是大概率过不了 Play Protect ),但是不要求电话权限(绝不绝)。

    顺便喷一句 s 卄 b gu 卄 ge 。真不愧是广告公司
    ljzxloaf
        10
    ljzxloaf  
    OP
       Aug 14, 2021
    @marczhao #9 谷歌咋了
    marczhao
        11
    marczhao  
       Aug 14, 2021 via iPhone   ❤️ 1
    @ljzxloaf #10
    开喷警告。

    读 sim 卡 iccid 不需要运行时权限,然后自己 Play Store 里面搞 Play Protect 检测。
    我寻思 没开 /没有 Play Protect/AOSP/连不上谷歌服务器 用的就不是安卓?
    年年挤牙膏,挤挤又一年。还宣传隐私,无语。

    就是有些举动还是算好的,比如 Play Store 强制 API30 。
    marczhao
        12
    marczhao  
       Aug 14, 2021 via iPhone
    @marczhao #11
    纠正一下,API30 指今年 11 月开始所有 update 都要 target API30 也就是强制 Scoped Storage 。

    发的时候想当然了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2637 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: f77a3b4c · 41ms · UTC 04:11 · PVG 12:11 · LAX 21:11 · JFK 00:11
    ♥ Do have faith in what you're doing.