本文我们研究一下怎么使用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 <stdio.h>
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