我目前正在测试使用 Unity Android 项目作为动态模块部署单独的应用程序。所述项目只有本地库文件armeabi-v7a
。x86
它可以正常工作bundletool install-apks --apks <path of my built APKS file with the armeabi-v7a libs> --adb <path to adb> --modules=<Unity module name>
,生成 Unity 模块的armeabi-v7a
apk 就好了,但是当我将它部署到 Play 商店时,它由于某种原因崩溃了 - 不幸的是,当它发生时我没有检查 logcat。
armeabi-v7a
我通过将文件复制到arm64-v8a
模块中的文件夹中来稍微复制了该崩溃。这是UnsatisfiedLinkError
与UnityPlayer
的生命周期通知程序或其他东西有关的,在这种特殊情况下,是由设备需要 64 位库而arm64-v8a
文件夹中的库是 32 位引起的。
我认为这意味着 PlayStore 没有提供 Unity 模块的库,因为它是一个arm64-v8a
设备,而唯一可用的变体是armeabi-v7a
and x86
,尽管我可能并且很可能是错误的。
作为记录
android {
defaultConfig {
...
ndk { abiFilters 'armeabi-v7a', 'x86' }
...
}
...
}
存在于我的基本模块的 Gradle 文件和 Unity 模块的文件中,我将bundle
块从 Unity 模块移动到我的基本模块。
那么我错过了什么?