轉-Android原生(Native)C(JNI/NDK)開發之一:環境搭建篇


爲方便以後學習和工作,現轉載一批文章,方便以後使用。

 

來源:http://blog.sina.com.cn/s/blog_4a0a39c30100auh9.html   作者:風子

 

Android是基於Linux的操作系統,處理器是ARM的,所以要在Linux或Windows等x86系統上編譯Android能運行的程序,你需要一個交叉編譯器。

在Linux下面,你可以自已編譯一個交叉編譯環境,但Windows下面,就比較複雜(也可以在cygwin中編譯一個),但你可以選擇下載一個現成的交叉編譯環境:

http://www.codesourcery.com/gnu_toolchains/arm/download.html

Windows: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3400/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.exe

Linux: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3399/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.bin

 

安裝好了之後,將 CodeSourcery編譯器的bin目錄 (我的是D:\Program Files\CodeSourcery\Sourcery G++ Lite\bin) 加入你的PATH環境變量中,就可以開始你的Android Native C開發之旅了,寫好一個簡單的C程序:

#include <stdlib.h>

int main(int argc, char** argv) {
 printf("hello android!\nI'm %s!\nI like android very much!!!\n", "Martin Foo");
 
 return 0;
}


另存成hello.c,進入命令行模式,確保交叉編譯器的bin目錄,及Android SDK的tools目錄在你的系統環境變量的path裏面,用如下命令編譯:

arm-none-linux-gnueabi-gcc -static hello.c -o hello

注意,一定要加上static參數,否則編譯好的可能會在Android上不能運行。

啓動Android模擬器,用如下命令將文件push到Android模擬器上:

adb shell mkdir /dev/sample
adb push hello /dev/sample/hello

adb shell chmod 777 /dev/sample/hello

 

先創建 /dev/sample目錄,再將編譯好的hello上傳上去,最後將hello改成可執行的。

再進入命令行模式,進入Android的shell環境:

adb shell

#cd /dev/sample

#./hello

進入 /dev/sample目錄,執行hello,運行結果如下圖:

 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章