发布了我的第一款Android游戏。立刻收到:“您的设备不支持”——来自一款当前旗舰小米手机。

Play Console显示我的游戏支持 3,078 款设备,而总共有数万款。

Unity自动向生成的清单中插入了以下内容:

<supports-gl-texture android:name="GL_IMG_texture_compression_pvrtc"/>

PVRTC是PowerVR/iOS格式。几乎没有Android设备声明支持它,而Play Store将该标签视为严格的兼容性过滤器。

麻烦之处在于:更改纹理压缩格式并不能解决这个问题。我设置为ETC2,重新构建后,标签仍然是PVRTC。该标签来自隐藏在 Library/ 目录下的旧版 androidBuildSubtarget —— 该目录被git忽略,每台机器各不相同,且在Player Settings界面中不可见。

现在我通过 IPostGenerateGradleAndroidProject 钩子来移除它。请检查你自己的构建:

aapt2 dump xmltree universal.apk --file AndroidManifest.xml | grep -c supports-gl-texture

你应该得到0。检查只需两分钟,否则可能失去所有用户。

这是一款2D一战双翼飞机狗斗游戏,支持本地Wi-Fi多人对战。