Unity android项目抛出"你的硬件不支持这个应用程序抱歉"错误

aod*_*aod 4 android unity-game-engine fresco unity5

我已经调查了2天.我读了很多东西.总结一下我读到的内容:

  • UNON 5版本不支持非NEON设备.
  • 您应将安装位置设置为"自动或强制内部"
  • 您应将写访问权限设置为"仅限内部"

除了上面的那些,我还尝试了这些纹理压缩设置:

  • 不要覆盖
  • DXT(Tegra)

我尝试过两种情况:

  • 当我从UNITY构建游戏并生成apk时.它在手机上运行良好.
  • 我选择了"Google Android Project"并导出了Unity项目.导出后,我得到了/ assets/bin /文件夹并复制到我的android项目资产中.使用此选项,它不起作用.

我试过的手机是Sony Xperia M5和One Plus 2.它们都有ARM Cortex-A53 CPU.因此,我认为消除了非NEON选项.我认为应该有另一个原因造成这个问题.

顺便说一句,游戏适用于s5,s6,s3 mini和Xperia Z1两种情况.

提前致谢.

aod*_*aod 6

Android团队中的一位朋友发现,集成后缺少原生库,fresco这是一个在Android应用程序中显示图像的强大系统.另外,在frescogithub页面上有一个问题:https://github.com/facebook/fresco/issues/361

在那里,一个男人的绰号是kassim"Android上的本机库的一个常见问题是,如果一个本地库可用于abi,那么所有本地库都需要可用于该abi,它不会回归到较低的支持abi,因此x86_64不会回落到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"
}
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题.

  • 另一种可能性是将ndk {abiFilters“ armeabi-v7a”}添加到build.gradle。(如果包括Intel,也可以是abiFilters“ armeabi-v7a”,“ x86”。 (2认同)