環境:
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
運行結果如下:
總結:成功了!