焦作市环宇网络科技有限公司
首页 | 联系方式 | 加入收藏 | 设为首页 | 手机站

产品目录

联系方式

联系人:业务部
电话: 00166-889605
邮箱:service@wqwgb.com

当前位置:首页 >> 产品展示 >> 默认分类 >> 正文

Android NDK编译纯C程序

详细信息:


怎么配置NDK就不说了,网上教程多的是,现在说一下怎么在不依赖Android Studio的情况下手动使用NDK编译可以直接在Android上运行的程序(不是库哦)。

随便找个目录,建一个文件夹,在这里命名为tubashu,进入目录,建一个hello.c文件,代码如下:


#include <stdio.h>
int main()
{
 printf("hello tubashu!\n");
 return 0;
}

然后再建一个文件Android.mk
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=hello
LOCAL_SRC_FILES:=hello.c
include $(BUILD_EXECUTABLE)

然后打开CMD,进入文件目录,执行 ndk-build 命令,参数如下:

$ ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk

NDK_PROJECT_PATH 指定了需要编译的代码的工程目录,这里给出的是当前目录,APP_BUILD_SCRIPT给出的是Android makefile文件的路径

然后就会在目录里的lib目录里生成hello文件,用adb push到手机或模拟器里,执行就可以看到输出了。

C:\Users\tubashu>adb push E:\tubashu\obj\local\armeabi-v7a\hello /data/local/tmp/
E:\tubashu\obj\local\...shed. 0.7 MB/s (39252 bytes in 0.053s)
C:\Users\tubashu>adb shell
shell@ja3g:/ $ ./data/local/tmp/hello
/system/bin/sh: ./data/local/tmp/hello: can't execute: Permission denied
126|shell@ja3g:/ $ su
shell@ja3g:/ # chmod 777 /data/local/tmp/hello
shell@ja3g:/ # ./data/local/tmp/hello
hello tubashu!
shell@ja3g:/ #