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

2021-08-14 15:50:02 +08:00
 ljzxloaf

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

应该是我的姿势不对。

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

2217 次点击
所在节点    问与答
12 条回复
timpaik
2021-08-14 16:09:16 +08:00
qemu
hikari
2021-08-14 16:14:33 +08:00
要用模拟器的话,sdk 29 还是 30 之后的,x86 的机器 跑 arm 的速度就很快了
官方的博客也写过这个
https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html
MLawliet
2021-08-14 19:38:58 +08:00
一直在用 Genymotion + 各 android 版本对应的 Translation 补丁,还能凑合用,也不是很稳定
WebKit
2021-08-14 19:48:32 +08:00
国产的夜神模拟器。网易 mumu 都可以流畅运行
marczhao
2021-08-14 19:50:16 +08:00
@hikari #2
那个是说,有 ARM 的 Binary Translation 了。
Android11,Android studio 里面 Gapps 版镜像自带。
早就有了。

再不济,Anbox 弄个带 houdini 的镜像也可以。
marczhao
2021-08-14 19:54:14 +08:00
@marczhao #5
补充:houdini 指 libhoudini

另,好奇你想用来干什么。
irytu
2021-08-14 20:24:57 +08:00
qemu 吧
ljzxloaf
2021-08-14 21:59:12 +08:00
@marczhao #6 对的,我直接用的 11 的 image,按官方的说法是兼容 arm 的,但是我用下来大部分都不行。我是想看看一些 app 的设备指纹是怎么取的
marczhao
2021-08-14 22:31:44 +08:00
@ljzxloaf #8
建议止步。
除非你想尝试反编译,之后欣赏各种 nzbzc 混淆字典。
甚至尝试反编译 native binary (👴警告)。

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

顺便喷一句 s 卄 b gu 卄 ge 。真不愧是广告公司
ljzxloaf
2021-08-14 22:37:25 +08:00
@marczhao #9 谷歌咋了
marczhao
2021-08-14 22:48:53 +08:00
@ljzxloaf #10
开喷警告。

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

就是有些举动还是算好的,比如 Play Store 强制 API30 。
marczhao
2021-08-14 23:33:11 +08:00
@marczhao #11
纠正一下,API30 指今年 11 月开始所有 update 都要 target API30 也就是强制 Scoped Storage 。

发的时候想当然了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/795778

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX