的Andr​​oid NDK和谷歌Play筛选 [英] Android NDK and Google Play filtering

查看:219
本文介绍了的Andr​​oid NDK和谷歌Play筛选的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在谷歌播放AppStore的自动过滤你的应用程序与兼容的CPU架构的设备。例如。如果您有只编译的ARMv5库,您的应用程序将只显示与ARMv5的或ARMv7的处理器的设备。

The Google Play appstore automatically filters your application to devices with compatible CPU architecture. E.g. if you have a library which is only compiled for ARMv5, your app will only show up for devices with ARMv5 or ARMv7 processors.

如果我有一个Java的替代,并希望我的应用程序,以非ARM设备上下载的吗? 例如。我试图加载外部库,并实施敏捷字节code一个可行的办法(JAVA)时捕获异常。

What if I have a Java alternative, and want my app to be downloaded by non-ARM devices too? E.g. I catch an exception when trying to load the external library, and implement a workable alternative in Dex bytecode (Java).

当我上传.apk文件,Android的开发者控制台说: 这个apk请求将被用于谷歌Play筛选1原生平台。 armeabi

When I upload the .apk, the Android Developer Console says: "This apk requests 1 native platforms that will be used for Google Play filtering. armeabi"

我需要为x86和MIPS编译虚拟库?然后在我的Java code,检查的处理器架构知道如果我可以实际使用的图书馆吗?应该有一个更好的解决方案。

Do I need to compile dummy libraries for x86 and MIPS? Then in my Java code, check the processor architecture to know if I can actually use the library? There should be a better solution.

据我所知,没有什么清单中有关CPU的架构,我不能找到一种方法,在开发者控制台来关闭这个滤波器。

As far as I know, there is nothing in the Manifest about CPU architecture, and I cannot find a way in the Developer Console to turn this filter off.

希望有人谁知道很多比我做的关于谷歌Play筛选和NDK知道答案。

Hopefully somebody who knows a lot more than I do about Google Play filtering and the NDK knows the answer.

推荐答案

虽然捕获的调用LoadLibrary失败将工作在任何设备上(至少一切,我都试过,包括GTVs),但Play商店不会对设备显示,如果ABI该平台中不存在的apk

While trapping for loadLibrary failures will work on any device (at least all that I have tried including GTVs), but the Play Store will not show on devices if the ABI for that platform does not exist in the apk.

从文档(<一href="http://developer.android.com/guide/appendix/market-filters.html">http://developer.android.com/guide/appendix/market-filters.html ):包括针对特定平台的本地库(ARM EABI V7或x86,例如应用程序),可见仅在支持该平台的设备

From the docs ( http://developer.android.com/guide/appendix/market-filters.html ): An application that includes native libraries that target a specific platform (ARM EABI v7 or x86, for example) are visible only on devices that support that platform.

在理论上,建立适用于所有平台将能够针对所有设备,但在实践中也有一些设备,如谷歌电视的报道没有ABI,这意味着没有原生code将出现在只有的apk Play商店上的这些设备。不过,您可以使用多个APK,1,没有原生code和1与所有支持本机code平台。

In in theory, building for all platforms would be able to target all devices, but in practice there are some devices like Google Tv that report no ABI, which means that only apks that have no native code will appear in the Play Store on those devices. You can use multiple apks, however, 1 with no native code and 1 with all platforms that support your native code.

您可以读到这里多APK支持:<一href="http://developer.android.com/guide/market/publishing/multiple-apks.html">http://developer.android.com/guide/market/publishing/multiple-apks.html

You can read about multiple apk support here: http://developer.android.com/guide/market/publishing/multiple-apks.html

这篇关于的Andr​​oid NDK和谷歌Play筛选的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆