博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最简单 NDK 样例
阅读量:6620 次
发布时间:2019-06-25

本文共 1585 字,大约阅读时间需要 5 分钟。

以下在 Ubuntu下 编译一个 c 语言 hello world 并在 android 手机或模拟器上执行

进入程序位置

cd  ~/pnp5/jni

有三个文件 main.c Android.mk, Application.mk, 内容:

$ cat main.c #include 
int main (void){ printf("hello world"); return 0;}~/pnp5/jni$ cat Android.mk LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES:= \ main.cLOCAL_MODULE:= pnp5LOCAL_MODULE_TAGS := optionalinclude $(BUILD_EXECUTABLE)~/pnp5/jni$ cat Application.mk APP_ABI := all
注:Application.mk 能够没有(怎样你仅仅须要arm程序)

在当前文件夹执行 ndk-build 

( 假设没有ndk,去下载一个) 

~/pnp5/jni$ ~/android-ndk-r10d/ndk-build[arm64-v8a] Compile        : pnp5 <= main.c[arm64-v8a] Executable     : pnp5[arm64-v8a] Install        : pnp5 => libs/arm64-v8a/pnp5[x86_64] Compile        : pnp5 <= main.c[x86_64] Executable     : pnp5[x86_64] Install        : pnp5 => libs/x86_64/pnp5[mips64] Compile        : pnp5 <= main.c[mips64] Executable     : pnp5[mips64] Install        : pnp5 => libs/mips64/pnp5[armeabi-v7a] Compile thumb  : pnp5 <= main.c[armeabi-v7a] Executable     : pnp5[armeabi-v7a] Install        : pnp5 => libs/armeabi-v7a/pnp5[armeabi] Compile thumb  : pnp5 <= main.c[armeabi] Executable     : pnp5[armeabi] Install        : pnp5 => libs/armeabi/pnp5[x86] Compile        : pnp5 <= main.c[x86] Executable     : pnp5[x86] Install        : pnp5 => libs/x86/pnp5[mips] Compile        : pnp5 <= main.c[mips] Executable     : pnp5[mips] Install        : pnp5 => libs/mips/pnp5
发如今 与jni 同一级别的 libs 文件夹生成各种 target 的 程序。

在模拟器(真机)上执行

用 adb devices, 检查android是否启动

用 adb push pnp5 data/

用 adb shell 进入设备,而后执行 cd data; chmod 777 pnp5; ./pnp5

hello world 就打印出来了

转载地址:http://iecpo.baihongyu.com/

你可能感兴趣的文章
JEESNS数据库表设计结构
查看>>
JavaScript学习笔记:判断变量是否为undefined,判断变量和函数是否声明
查看>>
局域网访问Apache服务器
查看>>
我的友情链接
查看>>
SpringMVC中用于绑定请求数据的注解以及配置视图解析器
查看>>
JavaScript 闭包
查看>>
如何修改远程桌面3389端口
查看>>
Anthos Config Management 产品设计分析
查看>>
我的友情链接
查看>>
Spark算子:RDD行动Action操作(3)–aggregate、fold、lookup
查看>>
UILabel总结
查看>>
java获取当前时间前一周、前一月、前一年的时间
查看>>
话说WEB开发之页面重绘和回流
查看>>
vuex之传递参数(五)
查看>>
xutils使用手册(一)——初始化
查看>>
using标识使用
查看>>
解决linux下不能上网
查看>>
nginx rewrite伪静态配置参数说明
查看>>
python学习笔记(15-18)
查看>>
【转】linux进程的内存使用解析
查看>>