Android 谷歌64位要求仅适用于某些应用程序

Android 谷歌64位要求仅适用于某些应用程序,android,android-layout,Android,Android Layout,由于某些原因,我的应用程序不兼容64位 我的第一个想法是它可能是我的lib文件。我检查了生成的apk:我有arm64-v8a、armeabi、armebi-v7a、mips、x86,它们都包含相同的命名.so文件。所以,我想可能是因为x86_64缺失了?但是,我有另一个项目运行完全相同的libs,根据play仪表板,它是64位兼容的。我看不出两个lib或gradle设置之间有什么区别 有人遇到过类似的情况吗 更新:以下是分析apk得到的LIB: 正如我上面所说的,除了x86_64之外,其他所有

由于某些原因,我的应用程序不兼容64位

我的第一个想法是它可能是我的lib文件。我检查了生成的apk:我有arm64-v8a、armeabi、armebi-v7a、mips、x86,它们都包含相同的命名.so文件。所以,我想可能是因为x86_64缺失了?但是,我有另一个项目运行完全相同的libs,根据play仪表板,它是64位兼容的。我看不出两个lib或gradle设置之间有什么区别

有人遇到过类似的情况吗

更新:以下是分析apk得到的LIB:

正如我上面所说的,除了x86_64之外,其他所有文件都有.so文件。这可能是问题所在吗?arm64-v8a和x86_64都必须有.so文件吗?为什么这不是我其他项目的问题

另一更新: 好的,我认为它不起作用,因为我有x86而不是x86_64。文档中说“不需要支持每个64位体系结构,但是对于您支持的每个本机32位体系结构,您必须包括相应的64位体系结构。”。。。这是否意味着我可以删除x86,它应该可以正常工作?另外,删除x86是个好主意吗?它是否删除了对许多设备的支持?

如中所述

您应该添加ndk.abiFilters:

ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'  

给你的app build.gradle文件

好吧,我想出来了

似乎我设法“欺骗”了谷歌,让它认为我的应用程序是64位兼容的。就因为x86_64文件夹是可用的,我猜google控制台假定它包含所需的库。问题是缺少x86_64 lib。我的解决方案虽然不理想,但就是删除x86库(不管怎样,设备支持的比例很小),这样我就不需要x86_64了


所以,耶:)我所有的应用现在都是64位兼容的(尽管我已经失去了一些设备支持)

嘿,罗布!谢谢,但我没有使用ndk,我只是在使用.so库(如果我仍然不正确,很抱歉,因为我仍在学习所有这些)。而且,我的另一个项目也使用了这些。所以库和gradle文件中没有这个(而且似乎是兼容的)。你在8月1日之后发布了你的另一个应用吗?谷歌开发控制台中有更新的隐私政策。可能是您的库使用了ndk,您可以从我共享的链接()中检查,您可以分析apk,以查看您的应用程序中缺少哪些ndk文件夹。希望能有帮助。嗨,罗布!再次感谢您抽出时间!我确实分析了APK。更新问题以反映这一点。