1.配置環境變量
添加make工具path環境變量:
E:\Android\android-ndk-r10b\prebuilt\windows-x86_64\bin

2.編寫Hello World
新建hello.c
#include <stdio.h> int main(int argc, char* argv[]) { printf("Hello Android!\r\n"); return 0; }
3.編寫makefile文件如下
#ndk根目錄 NDK_ROOT=E:\Android\android-ndk-r10b #編譯器根目錄 TOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64 #編譯器目錄 TOOLCHAINS_PREFIX=$(TOOLCHAINS_ROOT)/bin/arm-linux-androideabi #頭文件搜索路徑 TOOLCHAINS_INCLUDE=$(TOOLCHAINS_ROOT)/lib/gcc/arm-linux-androideabi/4.6/include-fixed #SDK根目錄 PLATFROM_ROOT=$(NDK_ROOT)/platforms/android-14/arch-arm #sdk頭文件搜索路徑 PLATFROM_INCLUDE=$(PLATFROM_ROOT)/usr/include #sdk庫文件搜索路徑 PLATFROM_LIB=$(PLATFROM_ROOT)/usr/lib #文件名稱 MODALE_NAME=hello #刪除 RM=del #編譯選項 FLAGS=-I$(TOOLCHAINS_INCLUDE) \ -I$(PLATFROM_INCLUDE) \ -L$(PLATFROM_LIB) \ -nostdlib \ -lgcc \ -Bdynamic \ -lc #所有obj文件 OBJS=$(MODALE_NAME).o \ $(PLATFROM_LIB)/crtbegin_dynamic.o \ $(PLATFROM_LIB)/crtend_android.o #編譯器鏈接 all: $(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -c $(MODALE_NAME).c -o $(MODALE_NAME).o $(TOOLCHAINS_PREFIX)-gcc $(FLAGS) $(OBJS) -o $(MODALE_NAME) #刪除所有.o文件 clean: $(RM) *.o #安裝程序到手機 install: adb push $(MODALE_NAME) /data/local/tmp adb shell chmod 755 /data/local/tmp/$(MODALE_NAME) adb shell /data/local/tmp/$(MODALE_NAME) #運行程序 run: adb shell /data/local/tmp/$(MODALE_NAME)
4. 使用make命令便可以編譯程序

生成一個可以執行文件hello 一個目標文件hello.o
於是有編譯NDK的命令:
// 編譯目標文件 E:\Android\android-ndk-r10b/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc -IE:\Android\android-ndk-r10b/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.6/include-fixed -IE:\Android\android-ndk-r10b/platforms/android-14/arch-arm/usr/include -LE:\Android\android-ndk-r10b/platforms/android-14/arch-arm/usr/lib -nostdlib -lgcc -Bdynamic -lc -c hello.c -o hello.o // 編譯可以執行文件 E:\Android\android-ndk-r10b/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc -IE:\Android\android-ndk-r10b/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.6/include-fixed -IE:\Android\android-ndk-r10b/platforms/android-14/arch-arm/usr/include -LE:\Android\android-ndk-r10b/platforms/android-14/arch-arm/usr/lib -nostdlib -lgcc -Bdynamic -lc hello.o E:\Android\android-ndk-r10b/platforms/android-14/arch-arm/usr/lib/crtbegin_dynamic.o E:\Android\android-ndk-r10b/platforms/android-14/arch-arm/usr/lib/crtend_android.o -o hello
5.運行程序
同樣使用makefile即可

使用make install即可安裝運行我們的程序
使用make run即可運行我們的程序
install和run 在makefile可以理解成自定義函數
我擦 為知筆記的代碼着色到博客園不能用了