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执行就可以了!!

相关推荐