Android NDK编译纯C程序
程序员文章站
2023-12-31 20:33:40
...
怎么配置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
[email protected]:/ $ ./data/local/tmp/hello
/system/bin/sh: ./data/local/tmp/hello: can't execute: Permission denied
126|[email protected]:/ $ su
[email protected]:/ # chmod 777 /data/local/tmp/hello
[email protected]:/ # ./data/local/tmp/hello
hello tubashu!
[email protected]:/ #