ANDROID NDK实践开发系列--(01) 使用ndk编译c可执行程序

  本文我们研究一下怎么使用ndk开编译c语言编写的可执行程序。

原创作品转载请注明出处哦http://blog.csdn.net/superfang119/article/details/8524132

准备工作:

我的os是ubuntu 12.11 64位

ndk版本为8rc

吧ndk的目录路径设置了PATH环境变量。


现在开始征途:

1.首先我们新建一个工程,就叫做hello-exe。

2.在工程下新建jni目录。

3.在jni目录中新建一个hello-exe.c的文件。在hello-exe.c中填入如下内容:

#include 

int main()
{
	printf("hello world !");
	return 0;
}

4.在jni目录中新建一个Android.mk文件,内容如下:

LOCAL_PATH:=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE:=helloexe

LOCAL_SRC_FILES:=hello-exe.c

include $(BUILD_EXECUTABLE)
关键是最后一句,编译成可执行文件就靠它了。

5.在hello-exe目录下,执行ndk-build。运行如下:


6.找到生成的可执行文件,我们的可执行文件生成在hello-exe目录下的libs目录中,按照编写的cpu架构,会在对应的目录下生成可执行文件,我们是默认编译,cpu架构为armeabi,因此生成的文件在armeabi目录下,如图所示:


7.运行生成的可执行文件,我们使用模拟器来运行。

首先通过sdk运行一个模拟器,如图所示:



然后运行一个终端,我们使用adb连接上这个模拟器,因为模拟器启动时adb会自动连接模拟器,所以连接过程省略。

我们使用adb push命令把生成的可执行文件拷入模拟器的data目录下:


使用adb shell命令获得模拟器的控制台,如图所示:


修改helloexe的运行权限,如图所示:


运行helloexe,如图所示:


看到了运行结果了!哈哈。真开心!

原创作品转载请注明出处哦http://blog.csdn.net/superfang119/article/details/8524132


你可能感兴趣的:(ndk)