我想在google商店发布2个apk(使用统一制作),使用多个apk功能。 我在互联网上看了一遍,我试过这个:
在ProjectFolder / jni /创建了一个Application.mk
只有APP_ABI := x86
或APP_ABI := armeabi armeabi-v7a
取决于我想要使用的库。
使用Unity' device filtrer'创建了2个带有2个版本代码的apk设置为x86或Ar Mv 7,具体取决于我想要构建的apk。
在google develloper console上发布了两个apk。
Apk的大小不同,因此使用了不同的库。 (使用两个lib,apk重量16 mo以上,只有手臂,像~8mo更多,只有x86喜欢~8.5mo)。
问题在于,原生平台'通过谷歌控制台检测到的始终是' armeabi-v7a,x86' (两个架构),不管是apk。 所以我在谷歌控制台上收到一条错误消息,说两个apk都具有相同的设备兼容性。
(PS:如果我想要2个不同的apk,那就是因为每个lib在最终的apk上需要8mo,所以16mo用于空项目。并且对于apk的google大小限制...)
好的问题来自插件(everyplay)。它有x86和arm架构的库。解决方案是在构建arm apk之前删除x86插件lib,并删除arm插件lib以构建x86 apk。
我还注意到,不必更改Application.mk中的APP_ABI
,统一参数device filtrer
会覆盖它。
答案 0 :(得分:0)
如果谷歌指出这一点,那就意味着即使你正在尝试为ARM构建,Unity也会覆盖/覆盖x86的文件。这是你应该做的几件事
打开Unity的Player Settings
,转到Android
标签,选择Other Settings
,然后在配置 - >下设备过滤器选择您要构建的任何体系结构(默认为两者)
这个更不直观。仅仅因为你做了上面的第1步,并不总是意味着只构建了1个架构。如果是插件,它的/lib
文件夹包含适用于这两种体系结构的任何文件,然后构建这两种体系结构。因此,您需要手动梳理每个plugi文件夹,并确保没有此类文件。