Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 支持的Build.CPU\u ABI vs Build.CPU\u ABI2 vs Build.Supported\u ABIS_Android_Android Ndk_Cpu Architecture_Abi - Fatal编程技术网

Android 支持的Build.CPU\u ABI vs Build.CPU\u ABI2 vs Build.Supported\u ABIS

Android 支持的Build.CPU\u ABI vs Build.CPU\u ABI2 vs Build.Supported\u ABIS,android,android-ndk,cpu-architecture,abi,Android,Android Ndk,Cpu Architecture,Abi,关于这一点,我理解如果Build.CPU_ABI和Build.CPU_ABI2中的一个或多个与特定APK的目标体系结构相同,那么在这个特定设备上运行这个APK应该是可行的 实际上,当我做实验时发生的事情让我很困惑: 我拿了一台运行安卓4.4的Azus设备,检查它返回的属性: Build.CPU\u ABI=X86 Build.CPU\u ABI2=armeabi-v7a 但实际上,该设备似乎不支持armeabi-v7a。 我之所以知道这一点,是因为我试图在这个设备上安装一个,但它失败了,日志显示

关于这一点,我理解如果Build.CPU_ABI和Build.CPU_ABI2中的一个或多个与特定APK的目标体系结构相同,那么在这个特定设备上运行这个APK应该是可行的

实际上,当我做实验时发生的事情让我很困惑:

我拿了一台运行安卓4.4的Azus设备,检查它返回的属性:

Build.CPU\u ABI
=X86

Build.CPU\u ABI2
=armeabi-v7a

但实际上,该设备似乎不支持armeabi-v7a。 我之所以知道这一点,是因为我试图在这个设备上安装一个,但它失败了,日志显示ABI不受支持。 我还使用apk上的adb dump标记验证了这一点,它返回:

'native-code': 'armeabi-v7a'
我的问题是:

  • 为什么声明CPU_ABI2=armeabi-v7a的设备不能真正运行Facebook版本的目标armeabi-v7a

    这对我了解到底发生了什么非常重要,因为我正在开发一个与google play完全一样的应用程序,并将其交付和安装到设备应用程序中,我试图找出什么设备属性将为我提供关于基于它的APK的指示


看起来不对,它的
armeabi-v7a
。该设备上可能有一个库同时支持lib/[armeabi-v7a]和lib/[x86],而该库正是框架所关注的。提供更多关于该设备的信息,Azus,不是华硕吗?@t0mm13b该设备是Azus Zenfone型号华硕_Z002它更多用于NDK C/C++构建,其中绑定本机库代码与apk共享,而不是其他任何东西大多数intel atom处理器(如果不是全部)都附带库(houdini),可以在fly arm中转换为x86,这就是为什么您可以将
armeabi-v7a
视为
CPU\u ABI2
。我自己也有带Atom的华硕Zenfone 5和相同的CPU_ABI。我的手机正常运行arm应用程序,没有问题。另外一点:当我有安卓4.4时,手机上有禁用/启用houdini的脚本(可通过adb访问),在升级到安卓5.0后我找不到它们。我建议只安装一个只有armv-7a的小APK:也许,那个奇怪的facebook APK出了什么问题?如果您不想自己弄乱NDK示例,您可以尝试以下链接