Android 在安装期间禁用NDK平台检查

Android 在安装期间禁用NDK平台检查,android,android-ndk,Android,Android Ndk,正如NDK文件中明确指出的 新的.apk将嵌入您的共享库,当您在目标设备上安装包时,系统将在安装时自动提取这些库 现在,假设我只包括所有可能的库的子集,比如说只包括armeabi库。尝试在x86设备上安装将导致以下错误: Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 既然应用程序能够回退到纯Java实现的本机代码,那么是否可以禁用平台检查并继续进行呢?我的猜测是,事实并非如此,然而,我相信,为其他感兴趣的平台提供一个几乎/实际上

正如NDK文件中明确指出的

新的.apk将嵌入您的共享库,当您在目标设备上安装包时,系统将在安装时自动提取这些库

现在,假设我只包括所有可能的库的子集,比如说只包括armeabi库。尝试在x86设备上安装将导致以下错误:

Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
既然应用程序能够回退到纯Java实现的本机代码,那么是否可以禁用平台检查并继续进行呢?

我的猜测是,事实并非如此,然而,我相信,为其他感兴趣的平台提供一个几乎/实际上是空的库将在有限的努力或包大小影响下解决您的问题

我不知道你是否真的需要一个有效的.so来让架构通过测试,而不是在正确的文件夹中使用一个具有正确扩展名的虚拟文件(假设你从未尝试加载它)


但是,即使您确实需要一个有效的示例,您也可以为所有架构或类似的东西构建hello jni示例。拥有一个jni函数,您可以调用该函数,如果库可用,则返回该函数,或者使用替代函数也可能是解决检测问题的一种简单方法。

最好的方法就是简单的方法!似乎一个空的.so文件就足以成功安装(在x86机器上测试,API 18)。其他架构或版本可能会拒绝它,但我只需要在开发时快速找到解决方案。