Rau*_*ulp 0 c android arm android-ndk
我有一个带有两个不同CPU ABI的android系统 - armeabi-v7a and x64.为此,我必须构建应用程序代码以使其正常工作.我的应用程序(用c语言)无论如何都不会运行任何一个平台.或者是否有任何常见的工具链,我可以用它来构建相同的工具链.在arm-EABI-GCC?
NDK包含在Android平台上运行程序所需的所有工具链.
要设置需要编译的体系结构,应APP_ABI在Application.mk中设置变量或将其传递给ndk-build命令.
APP_ABI:=all将使您的ndk项目为所有支持的体系结构构建:armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips,mips64.
您还可以列出要为其构建的体系结构:APP_ABI:= x86_64 x86 armeabi-v7a arm64-v8a还可以使用all32和all64作为所有32位和所有64位体系结构的快捷方式.
要确定目标设备支持哪些平台,您可以调用adb shell getprop ro.product.cpu.abi(首选拱门)和adb shell getprop ro.product.cpu.abi2(第二个拱门).
从Android 5.0开始,adb shell getprop ro.product.cpu.abilist改为使用,返回所有受支持的ABI的列表,按优先顺序排序.