Unity android 项目抛出 "Your hardware does not support this application sorry" 错误
Unity android project throws "Your hardware does not support this application sorry" error
我调查了2天。我读了很多东西。总结一下我读到的内容:
- 非 NEON 设备将无法使用 UNITY 5 版本。
- 您应该将安装位置设置为 "Automatic or Force Internal"
- 您应该将写入权限设置为 "Internal Only"
除上述设置外,我还尝试了这些纹理压缩设置:
- 不要覆盖
- DXT(Tegra)
还有两种情况我试过:
- 当我从 UNITY 构建游戏并生成 apk 时。它在 phone.
上运行良好
- 我选择了"Google Android Project"并导出了unity项目。导出后,我得到 /assets/bin/ 文件夹并复制到我的 android 项目资产中。使用此选项,它不起作用。
我试过的手机是Sony Xperia M5和One Plus 2。它们都有ARM Cortex-A53 CPU。因此,我认为取消了非 NEON 选项。我觉得应该还有别的原因导致这个问题。
顺便说一下,游戏在 s5、s6、s3 mini 和 Xperia Z1 上都适用。
提前致谢。
Android 团队的一位朋友发现,在与 fresco
集成后缺少本机库,fresco
是一个在 Android 应用程序中显示图像的强大系统。此外,fresco
的 github 页面存在问题:https://github.com/facebook/fresco/issues/361
在那里,一个昵称是 kassim
的人说 "A common issue with native libs on Android is that if one native lib is available for an abi then all your native libs need to be available for that abi, it won't fall back to a lower supporting abi, so x86_64 won't fall back to x86"。
他提议将下面的代码放入 build.gradle
文件的 android 部分:
packagingOptions {
exclude "lib/armeabi/libbitmaps.so"
exclude "lib/armeabi/libgifimage.so"
exclude "lib/armeabi/libimagepipeline.so"
exclude "lib/armeabi/libmemchunk.so"
exclude "lib/armeabi/libwebp.so"
exclude "lib/armeabi/libwebpimage.so"
exclude "lib/arm64-v8a/libbitmaps.so"
exclude "lib/arm64-v8a/libgifimage.so"
exclude "lib/arm64-v8a/libimagepipeline.so"
exclude "lib/arm64-v8a/libmemchunk.so"
exclude "lib/arm64-v8a/libwebp.so"
exclude "lib/arm64-v8a/libwebpimage.so"
exclude "lib/x86_64/libbitmaps.so"
exclude "lib/x86_64/libgifimage.so"
exclude "lib/x86_64/libimagepipeline.so"
exclude "lib/x86_64/libmemchunk.so"
exclude "lib/x86_64/libwebp.so"
exclude "lib/x86_64/libwebpimage.so"
}
这解决了问题。
我调查了2天。我读了很多东西。总结一下我读到的内容:
- 非 NEON 设备将无法使用 UNITY 5 版本。
- 您应该将安装位置设置为 "Automatic or Force Internal"
- 您应该将写入权限设置为 "Internal Only"
除上述设置外,我还尝试了这些纹理压缩设置:
- 不要覆盖
- DXT(Tegra)
还有两种情况我试过:
- 当我从 UNITY 构建游戏并生成 apk 时。它在 phone. 上运行良好
- 我选择了"Google Android Project"并导出了unity项目。导出后,我得到 /assets/bin/ 文件夹并复制到我的 android 项目资产中。使用此选项,它不起作用。
我试过的手机是Sony Xperia M5和One Plus 2。它们都有ARM Cortex-A53 CPU。因此,我认为取消了非 NEON 选项。我觉得应该还有别的原因导致这个问题。
顺便说一下,游戏在 s5、s6、s3 mini 和 Xperia Z1 上都适用。
提前致谢。
Android 团队的一位朋友发现,在与 fresco
集成后缺少本机库,fresco
是一个在 Android 应用程序中显示图像的强大系统。此外,fresco
的 github 页面存在问题:https://github.com/facebook/fresco/issues/361
在那里,一个昵称是 kassim
的人说 "A common issue with native libs on Android is that if one native lib is available for an abi then all your native libs need to be available for that abi, it won't fall back to a lower supporting abi, so x86_64 won't fall back to x86"。
他提议将下面的代码放入 build.gradle
文件的 android 部分:
packagingOptions {
exclude "lib/armeabi/libbitmaps.so"
exclude "lib/armeabi/libgifimage.so"
exclude "lib/armeabi/libimagepipeline.so"
exclude "lib/armeabi/libmemchunk.so"
exclude "lib/armeabi/libwebp.so"
exclude "lib/armeabi/libwebpimage.so"
exclude "lib/arm64-v8a/libbitmaps.so"
exclude "lib/arm64-v8a/libgifimage.so"
exclude "lib/arm64-v8a/libimagepipeline.so"
exclude "lib/arm64-v8a/libmemchunk.so"
exclude "lib/arm64-v8a/libwebp.so"
exclude "lib/arm64-v8a/libwebpimage.so"
exclude "lib/x86_64/libbitmaps.so"
exclude "lib/x86_64/libgifimage.so"
exclude "lib/x86_64/libimagepipeline.so"
exclude "lib/x86_64/libmemchunk.so"
exclude "lib/x86_64/libwebp.so"
exclude "lib/x86_64/libwebpimage.so"
}
这解决了问题。