1. 程式人生 > >Android NDK編譯純C程式

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
[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]:/ #