環境:
windows xp+vmware+redhat(ubuntu)
說明:本篇所述環境也是Android原生(Native)C(JNI)開發的環境
1,先下載個交叉編譯工具鏈版本
http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3057 選擇最新版本進入下載頁面後,選擇Advanced Packages的IA32 GNU/Linux TAR下載後檔案名稱為arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
2,上傳到/usr/local/後解壓tar jxvf arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 到一個arm-2010.09
3,測試,進入到/usr/local/arm-2010.09/bin目錄下,建立一個main.c檔案,
main.c內容
#include <stdio.h>
int main()
{
int i=0;
printf("%d\n",i);
return;
}
執行./arm-none-linux-gnueabi-gcc main.c
無報錯,產生a.out檔案
執行 ./arm-none-linux-gnueabi-gcc -v
顯示版本資訊 4.5.1
可以啦
修改/etc/profile檔案的PATH,將目前的目錄/usr/local/arm-2010.09-50/bin加入到PATH裡去
source /boot/.bashrc 使修改立即生效
執行個體測試:
進入工作目錄 /home/android/jniTest
建立檔案main.c,檔案內容
#include <stdio.h>
int main()
{
int i=0;
printf("hi ym012 %d\n",i);
return;
}
arm-none-linux-gnueabi-gcc -static main.c -o main
啟動Android模擬器,先建立 /dev/sample目錄,再將編譯好的main上傳上去,最後將main改成可執行檔。其命令如下
adb shell mkdir /dev/sample //在模擬器下建立一個目錄
adb push main /dev/sample/main //將main檔案上傳到/dev/sample/main
adb shell chmod 777 /dev/sample/main //修改成可執行檔
再進入命令列模式,進入Android的模擬器的/dev/sample目錄執行hello:
adb shell
#cd /dev/sample
#./hello //執行hello
運行結果如下:
hi ym012 0_______________
總結:成功了!