`
JasonShieh
  • 浏览: 521081 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Mac上NDK编译C可执行程序

阅读更多
一 下载NDK,解压并配置PATH
     export PATH=$PATH:{NDK path}
二 清楚交叉编译的工具链在哪。输入如下命令:
SYSROOT=$NDK/platforms/android-<level>/arch-<arch>/
$NDK表示NDK安装的路径,level表示Android版本,arch表示硬件结构。均视自己情况而定。
可以通过adb shell  cat  /proc/cpuinfo 查看需要执行的Android环境。例如:
SYSROOT=$NDK/platforms/android-8/arch-arm

三 设置编译器,输入如下命令:
export CC="$NDK/toolchains/<name>/prebuilt/<system>/bin/<prefix>gcc --sysroot=$SYSROOT"
均视自己情况而定。例如:
export CC="$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>

int main(){
    printf("Hello world!\n");
    return 0;
}

五 再建立一个Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := helloworld
LOCAL_SRC_FILES := helloworld.c
include $(BUILD_EXECUTABLE)

六 再建立一个 Application.mk:
APP_PLATFORM :=android-14
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES      := helloworld
七 最后执行:
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
如果执行成功,会生成一个libs文件夹,找到自己平台下可用的可执行文件,push到手机上,然后./helloworld 执行就可以了!!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics