【问题标题】:How to tell on Unity which plugin isn't 64bit compliant?如何在 Unity 上判断哪个插件不兼容 64 位?
【发布时间】:2019-12-27 01:45:48
【问题描述】:

当我上传新版本的应用程序时,我在 Google Play 控制台上收到以下错误消息。

“以下 APK 或 App Bundle 可用于 64 位设备, 但它们只有 32 位本机代码:..."

我的问题是:我怎么知道我使用的哪个库不兼容 64 位?

我假设它是导致此问题的库,因为在我的项目设置中我认为一切都是正确的:App Bundle (AAB) 已启用,脚本后端是 IL2CPP,所有 3 种架构都已检查(ARMv7、ARM64、x86)。

而且我不使用很多库,我只使用 AdMob、Firebase、Unity Analytics/Diagnostics/IAP 和 sqlite(它有 3 个独立的 SO,每个架构/CPU 都有一个标记)。

编辑:我使用 Unity 2019.1.12f1

【问题讨论】:

    标签: android unity3d 64-bit google-play-console


    【解决方案1】:

    APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code Unity Play store error 可能重复

    尝试在没有 x86 目标架构的情况下构建您的项目。由于 Unity 不支持 x86_64,因此您缺少 64 位。

    Google 在此处描述了如何检查您的库是否为 64 位:https://developer.android.com/distribute/best-practices/develop/64-bit

    您的应用是否包含 64 位库? 检查 64 位库的最简单方法是检查 APK 文件的结构。构建后,APK 将与应用程序所需的任何本机库一起打包。本机库存储在基于 ABI 的各种文件夹中。不需要支持每个 64 位架构,但对于您支持的每个本机 32 位架构,您必须包含相应的 64 位架构。

    对于 ARM 架构,32 位库位于 armeabi-v7a 中。 64 位等效版本是 arm64-v8a。

    对于 x86 架构,请查找用于 32 位的 x86 和用于 64 位的 x86_64。

    【讨论】:

    • 非常感谢!!尚未测试,但两个答案都有意义(删除 x86 并检查 APK 上的库)
    • 我刚刚确认删除 x86 版本会使错误消失
    猜你喜欢
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多