Mac上NDK编译C可执行程序
一下载NDK,解压并配置PATH
exportPATH=$PATH:{NDKpath}
二清楚交叉编译的工具链在哪。输入如下命令:
SYSROOT=$NDK/platforms/android-<level>/arch-<arch>/
$NDK表示NDK安装的路径,level表示Android版本,arch表示硬件结构。均视自己情况而定。
可以通过adbshellcat/proc/cpuinfo查看需要执行的Android环境。例如:
SYSROOT=$NDK/platforms/android-8/arch-arm
三设置编译器,输入如下命令:
exportCC="$NDK/toolchains/<name>/prebuilt/<system>/bin/<prefix>gcc--sysroot=$SYSROOT"
均视自己情况而定。例如:
exportCC="$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc--sysroot=$SYSROOT"
四新建jni文件夹
jni下准备好一个C程序,例如下面的HelloWorld.c
#include<stdio.h>
intmain(){
printf("Helloworld!\n");
return0;
}
五再建立一个Android.mk:
LOCAL_PATH:=$(callmy-dir)
include$(CLEAR_VARS)
LOCAL_MODULE:=helloworld
LOCAL_SRC_FILES:=helloworld.c
include$(BUILD_EXECUTABLE)
六再建立一个Application.mk:
APP_PLATFORM:=android-14
APP_PROJECT_PATH:=$(callmy-dir)
APP_MODULES:=helloworld
七最后执行:
ndk-buildNDK_PROJECT_PATH=.APP_BUILD_SCRIPT=./Android.mkNDK_APPLICATION_MK=./Application.mk
如果执行成功,会生成一个libs文件夹,找到自己平台下可用的可执行文件,push到手机上,然后./helloworld执行就可以了!!