Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.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 NDK:我应该在Application.mk中为APP_ABI设置什么?_Android_Android Ndk_X86_Arm_Abi - Fatal编程技术网

Android NDK:我应该在Application.mk中为APP_ABI设置什么?

Android NDK:我应该在Application.mk中为APP_ABI设置什么?,android,android-ndk,x86,arm,abi,Android,Android Ndk,X86,Arm,Abi,我想知道我应该在Android游戏的Application.mk文件中放置哪些架构 我想支持所有可能的平台,可以在谷歌Play和其他类型的Android商店上下载游戏 我要说的是,我应该设定: APP_ABI := armeabi x86 (as many x86 devices are coming soon as far as I know) 但我不知道我是否应该设置: APP_ABI := armeabi armeabi-v7a x86 或 请澄清。您还可以指定mips,当您使用all

我想知道我应该在Android游戏的Application.mk文件中放置哪些架构

我想支持所有可能的平台,可以在谷歌Play和其他类型的Android商店上下载游戏

我要说的是,我应该设定:

APP_ABI := armeabi x86 (as many x86 devices are coming soon as far as I know)
但我不知道我是否应该设置:

APP_ABI := armeabi armeabi-v7a x86


请澄清。

您还可以指定
mips
,当您使用
all
时,将包括该mips

armeabi
代码可以在
armeabi-v7a
设备上运行,但不能反过来运行。因此,如果您有
armeabi
,则不需要
armeabi-v7a
,但它将允许您利用某些设备上的硬件浮点操作

还要注意,您包含的体系结构越多,生成的APK就越大。而且,如果您定期为所有平台编译,那么构建将花费更长的时间


请查看NDK安装中的docs/CPU-ARCH-ABIS.html,了解有关不同体系结构的更多信息。

我建议至少设置armeabi-v7a和x86

armeabi-v7a涵盖了大多数(可能是所有)最新的arm设备,并为您提供了硬件浮点支持

x86涵盖了当前所有x86设备(其中最大的是三星Galaxy Tab 3)。此外,从今年开始,英特尔正在大力推动平板电脑市场份额的公开化,未来可能会更受欢迎

这有很多影响。krsteve是正确的,这将使您的构建稍微慢一点(因为您现在正在有效地构建两次游戏),并使您的APK更大(因为您将x86和ARM二进制文件放在一起),但是,从总体上看,这些二进制文件的大小可能比您的资产要小,如果它们不是,那么你的游戏就不太可能大到超过GooglePlayAPK的大小限制

总结如下:

  • 使用armeabi-v7a和x86,或全部使用
  • 额外的apk大小将 要么与你的资产规模无关,要么相形见绌
  • 您的构建时间 会增加,但会增加你可以点击的设备数量,所以 这似乎是一个公平的交易
  • APP_ABI := all