博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NDK编译可执行文件
阅读量:6535 次
发布时间:2019-06-24

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

  hot3.png

对于 C 应用程序的编译链接,自己编写的 makefile 是件比较困难的事情,我们可以利用 NDK 提供的 build 工具,实现我们的目标。

比如我们以hello.c工程:

#include 
    int main()    {    printf("Hello World!\n");       return 0;    }

编写Android.mk文件

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:= helloaLOCAL_SRC_FILES := hello.cinclude $(BUILD_EXECUTABLE)

在当前目录下打开终端运行:ndk-build,出现如下错误:

[D:\ndk\android-ndk-r9d\sources\hellotest]$ ndk-buildAndroid NDK: Could not find application project directory !    Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.    D:\ndk\android-ndk-r9d\build/core/build-local.mk:148: *** Android NDK: Aborting    .  Stop.

解决办法有两种:

1)在该路径下创建一个空白的AndroidManifest.xml文件

再次执行ndk-build,可顺利编译出可执行文件,adb push到android平台上执行:

[D:\ndk\android-ndk-r9d\sources\hellotest]$ ndk-build[armeabi] Compile thumb  : helloa <= hello.c[armeabi] Executable     : helloa[armeabi] Install        : helloa => libs/armeabi/helloa

2)根据提示,可进行NDK_PROJECT_PATH赋值指定:

ndk-build -B NDK_PROJECT_PATH=.

再次执行ndk-build,同样可顺利编译出可执行文件,adb push到android平台上执行:

[D:\ndk\android-ndk-r9d\sources\hellotest]$ ndk-build[armeabi] Compile thumb  : helloa <= hello.c[armeabi] Executable     : helloa[armeabi] Install        : helloa => libs/armeabi/helloa

转载于:https://my.oschina.net/896698/blog/499584

你可能感兴趣的文章
js学习笔记之日期倒计时(天,时,分,秒)
查看>>
工欲善其事必先利其器之8266
查看>>
iOS 对数组排序
查看>>
阿里云服务器防火墙相关命令
查看>>
第二个商业设想
查看>>
910
查看>>
《Unity3D 实战核心技术详解》书中关于矩阵的错误
查看>>
Spark HA on yarn 最简易安装。
查看>>
一名QA的碎碎念
查看>>
纯CSS3实现圆形进度条动画
查看>>
js基础---变量命名以及运算符
查看>>
Spring笔记——装配Bean
查看>>
测试博客
查看>>
查看 共享内存 的命令 ipcrm、ipcs
查看>>
Android 蓝牙开发(整理大全)
查看>>
java中关于&、&&、|、||之间的区别和运算
查看>>
JSP,servlet和数据库之间传值出现乱码的问题
查看>>
【Spring四】AOP之XML配置
查看>>
java基础
查看>>
2017-5-8 TreeView 实现三级联动 (递归方法)
查看>>