gpt4 book ai didi

android - Google Play 不过滤 x86 设备

转载 作者:可可西里 更新时间:2023-11-01 11:42:44 26 4
gpt4 key购买 nike

我生成了一个 .so 文件,它是使用 ndk-build 命令构建的。在 Application.mk 文件中,我写了这些:APP_ABI := armeabi。然后,我在另一个应用程序中使用了这个 .so 文件,但我发现该应用程序在使用 x86 设备的 Google Play 中是可见的。

来自文档 ( http://developer.android.com/google/play/filters.html ):通过包含使用 Android NDK 构建的针对特定 CPU 架构(例如 ARM EABI v7 或 x86)的 native 库。

现在我很困惑,我应该怎么做才能让我的应用在 GooglePlay 中对 x86 设备不可见?

我们在 GooglePlay 上发布了一个应用程序,该应用程序在 x86 设备上会崩溃。所以我们想让应用程序在 GooglePlay 中对 x86 设备不可见。现在我们在 jniLibs 目录下的 armeabi 目录中有了我们的 .so 文件,但是 x86 设备仍然可以在 GooglePlay 中找到该应用程序。

最佳答案

Google Play 可能依赖于 x86 有一个翻译层,它将采用 armeabi 代码并翻译成 x86。请参阅:How does native android code written for ARM run on x86?

虽然我不知道为什么您的特定应用程序无法在 x86 上运行,但处理它的一种方法是在您的应用程序通过旧版本启动时检查 CPU/架构

Build.CPU_ABI

或 API 21 及更高版本

Build.SUPPORTED_ABI

http://developer.android.com/reference/android/os/Build.html#CPU_ABI

并在不满足条件(如 CPU 架构)时阻止用户运行您的应用。因此,在启动时,您将检查设备是否不正确,并通过对话框降级和/或阻止用户访问会崩溃的功能。

编辑

如果您需要阻止设备查看您的应用,则必须使用 Google Play 开发者控制台来选择哪些设备可以查看您的应用。

参见:How to restrict android app to specific device make?

https://support.google.com/googleplay/android-developer/answer/1286017?hl=en

当然,随着新的 x86 设备上线,您也必须删除它们。

关于android - Google Play 不过滤 x86 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com