Android NDK編譯純C程式
阿新 • • 發佈:2019-02-13
怎麼配置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]:/ #