ANDROID NDK实践开发系列--(01) 使用ndk编译c可执行程序
2013-01-21 13:19
531 查看
本文我们研究一下怎么使用ndk开编译c语言编写的可执行程序。
原创作品转载请注明出处哦/article/9488880.html
准备工作:
我的os是ubuntu 12.11 64位
ndk版本为8rc
吧ndk的目录路径设置了PATH环境变量。
现在开始征途:
1.首先我们新建一个工程,就叫做hello-exe。
2.在工程下新建jni目录。
3.在jni目录中新建一个hello-exe.c的文件。在hello-exe.c中填入如下内容:
4.在jni目录中新建一个Android.mk文件,内容如下:
5.在hello-exe目录下,执行ndk-build。运行如下:
6.找到生成的可执行文件,我们的可执行文件生成在hello-exe目录下的libs目录中,按照编写的cpu架构,会在对应的目录下生成可执行文件,我们是默认编译,cpu架构为armeabi,因此生成的文件在armeabi目录下,如图所示:
7.运行生成的可执行文件,我们使用模拟器来运行。
首先通过sdk运行一个模拟器,如图所示:
然后运行一个终端,我们使用adb连接上这个模拟器,因为模拟器启动时adb会自动连接模拟器,所以连接过程省略。
我们使用adb push命令把生成的可执行文件拷入模拟器的data目录下:
使用adb shell命令获得模拟器的控制台,如图所示:
修改helloexe的运行权限,如图所示:
运行helloexe,如图所示:
看到了运行结果了!哈哈。真开心!
原创作品转载请注明出处哦/article/9488880.html
原创作品转载请注明出处哦/article/9488880.html
准备工作:
我的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,如图所示:
看到了运行结果了!哈哈。真开心!
原创作品转载请注明出处哦/article/9488880.html
相关文章推荐
- ANDROID NDK实践开发系列(02)-- 在ndk跨版本使用surface显示输出
- ubuntu下使用NDK编译可执行程序的环境搭建
- 【Android Native Code开发系列】七 使用NDK进行交叉编译 & 编译ACE for android
- Android开发实践:在任意目录执行NDK编译
- 搭建Window环境下android NDK开发环境——编译第一个NDK程序
- Android逆向基础笔记—Android NDK开发3之使用ndk-build工具手动编译
- Android开发实践:在任意目录执行NDK编译
- 【ndk】直接使用ndk提供的arm-linux-androideabi-gcc编译android可执行程序
- Android开发实践:在任意目录执行NDK编译
- 使用Android NDK中的独立toolchain来开发C/C++程序
- 【Cocos2d-X(2.x) 游戏开发系列之二】cocos2dx最新2.0.1版本跨平台整合NDK+Xcode编译到Android 推荐
- android studio NDK使用,编译c生成.so实践记录
- android开发 NDK 编译和使用静态库、动态库
- C#程序集系列01,用记事本编写C#,IL代码,用DOS命令编译程序集,运行程序
- Android开发实践:如何设置NDK的编译选项
- Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
- 关于使用androidstudio2.2通过CMake,NDK开发OpengGL程序中出现的extern “C”问题
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
- 不使用Cygwin,在eclipse中快速开发JNI,一键生成C头文件.h,以及一键使用NDK交叉编译