【问题标题】:Android x86 on VirtualBox: App crashes on startupVirtualBox 上的 Android x86:应用程序在启动时崩溃
【发布时间】:2020-02-07 20:04:50
【问题描述】:

我在 VirtualBox 上运行 Android x86(64 位)。我可以正常访问某些应用程序,但某些应用程序每次启动时都会崩溃。 logcat 显示此错误:

02-07 14:20:49.901 3083 3083 E AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.chase.sig.android-TPinjV5wbyLsmB6IHnEPmw==/lib/arm/libb.so" has unexpected e_machine: 40 (EM_ARM)

详细信息:

  • 我的电脑运行的是 macOS Catalina
  • ISO:Android-x86 64 位 9.0-rc2 来自 FossHub (https://www.fosshub.com/Android-x86.html)
  • VirtualBox 操作系统:Linux 2.6 / 3.x / 4.x(64 位)
  • VirtualBox 规格:6gb 分配 RAM,8gb 硬盘。 3个处理器。 128 MB 显存。
  • 图形控制器:没有加速的 VBoxVGA(我已经尝试了其他选项。大多数替代方案根本无法正常启动操作系统。)

【问题讨论】:

    标签: android crash virtualbox


    【解决方案1】:

    看起来这个应用程序只附带原生 ARM 库。您可以通过以下步骤进行检查:

    1. 获取应用的 APK
    2. 解压APK
    3. 在其 lib 文件夹下,您将看到以 arm64-v8a armeabi-v7a x86 x86_64 等架构命名的文件夹名称
    4. 检查 x86 和/或 x86_64 是否包含 libb.so 文件

    附:你如何安装它? Apk 还是 Google Play?

    【讨论】:

    • 感谢您的回复! lib下只有armeabi-v7a。然而,在 assets/libs 中也有没有 .so 扩展名的 x86/native_app 和 x86/native_app_pie。我通过 Google Play 安装。跟进问题:这是否意味着该应用程序仅支持 32 位操作系统?这似乎很奇怪。此外,由于 assets/libs 中有 x86/native_app,这个应用程序是否可以在 x86 VirtualBox 中工作,或者该文件是否需要是 lib 中的 .so?感谢所有其他建议!
    • 抱歉耽搁了 - 我很忙。我查看了应用程序(安装在 ARM 设备上)。首先,我相信这个 nativeapp 文件是安全框架的一部分——它与看起来像漏洞检测代码的资产一起存在。其次,如果您可以从 Google Play 安装应用程序,则意味着声明了对 x86 的支持。资产中有 x86 可执行文件这一事实在一定程度上证实了这一点。第三,apk 中有一些文件根本不应该在生产环境中。
    • 考虑到上述所有因素以及应用程序依赖于一组混淆的本机库(这对于这种类型的应用程序很常见)并且您在 /lib/x86,我相信这是一个构建问题。我会问供应商他们是否真的支持 x86。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多