在原生Android Unity集成到Play Store中遇到了一个问题。我将其作为项目从Unity中提取出来,并将其作为库迁移到我们的本机应用程序中。
尝试将.AAB上载到Play Store时,出现以下错误:
This release is not compliant with the Google Play 64-bit requirement.
The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: [10406]
我已经检查了以下内容:
首先,我遵循了官方指南中的步骤:https://developer.android.com/distribute/best-practices/develop/64-bitUnity版本: 2019.4.9f1,安卓播放器设置我已经选择了ARMv7和ARM64。在此版本的Unity中没有x86选项。作为IL2CPP列出的脚本后端
在build.gradle文件中,我列出了: ndk { abiFilters 'armeabi-v7a','arm64-v8a‘},因为我们希望同时支持32位和64位
我已经使用了Android Studio内部的APK Analyzer工具来分析APK和AAB版本的应用程序。lib/armeabi-v7a和lib/arm64-v8a文件夹中都列出了相同的10个'.so‘文件。
接下来,我结合使用apktool和'file‘命令来提取应用程序的APK和AAB版本的内容,并仔细检查arm64-v8a文件夹中的'.so’文件是否确实是64位架构
我测试过在64位设备上使用以下命令直接安装APK版本成功:
% adb安装--abi arm64-v8a app.apk执行流式安装成功
我正式没有想法了,我确实联系了Play Store寻求帮助,但他们已经两天没有回应了,所以我有点坐立不安。
有没有人知道我可能错过了什么?
编辑:忘了提一下,这也在应用程序和unityLibrary build.gradle文件中:
packagingOptions {
doNotStrip '*/armeabi-v7a/*.so'
doNotStrip '*/arm64-v8a/*.so'
}
这是一个包含我的简化gradle文件的repo,如果它有帮助的话:https://github.com/azdragon2/unityandroid-stackoverflow-question谢谢!
发布于 2021-02-25 11:49:54
这个问题源于我使用的Unity库中包含的'.bc‘文件的使用。这些bc文件始终被解释为32位。您必须升级您正在使用的包含这些文件的库。
您可以通过对APK或AAB文件运行以下命令来确定是否存在相同的问题:
zipinfo -1 app.apk | grep \.bc$
https://stackoverflow.com/questions/66143801
复制相似问题