Debian 搭建 Android开发环境(arm-linux-gcc+NDK+JNI+SDK+Java)
Debian build Android development environment (arm-linux-gcc + NDK + JNI + SDK + Java)
Debian 搭建Android C开发环境
- arm-linux-gcc交叉编译工具链环境
- NDK环境
- SDK+Java环境
http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3057 选择最新版本进入下载页面后,选择Advanced Packages的IA32 GNU/Linux TAR下载后文件名为arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
下载后,解压到/usr/local/src/arm-2011.03-41
创建环境变量
nano ~/.bashrc
1 2 3 4 5 | ANDROID_ARM=/usr/local/src/arm-2011.03-41 PATH=$ANDROID_ARM/bin:$PATH export PATH |
查看安装情况
arm-none-linux-gnueabi-gcc -v
1 2 | Thread model: posix gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) |
代码测试
nano test.c
1 2 3 4 5 6 7 | #include int main() { int i=0; printf("%d\n", i); return; } |
1 | arm-none-linux-gnueabi-gcc -static test.c -o test |
将编译结果放到Android手机下进行测试
adb push test /data/local/test adb shell chmod 777 /data/local/test adb shell /data/local/test
输出结果
0
NDK的官方下载页面:http://developer.android.com/sdk/ndk/index.html
解压NDK到/usr/local/src/NDK
配置NDK环境变量
1 2 3 | nano ~/.bashrc NDK=~/android-ndk-r4b export NDK |
安装make环境
1 | apt-get install make |
编译示例程序
1 2 | cd $NDK\samples/hello-jni $NDK/ndk-build |
配置正确的话,则会输出下面的信息
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup Compile thumb : hello-jni <= hello-jni.c SharedLibrary : libhello-jni.so Install : libhello-jni.so => libs/armeabi/libhello-jni.so
如果你没有安装make环境,则会提示如下错误
Cannot find 'make' program. Please install Cygwin make package
Java调用NDK so类的规则
Java_com_example_hellojni_HelloJni_stringFromJNI
Java_是固定的,表示要用Java代码来调用
com_example_hellojni表示包(package)必须为com_example_hellojni
HelloJni表示类(class)必须为HelloJni
stringFromJNI表示方法名必须为stringFromJNI
Java安装
1 | apt-get install sun-java6-bin sun-java6-fonts sun-java6-jdk sun-java6-jre |
Android SDK 安装
从官网下载http://developer.android.com/sdk/index.html最新的SDK
解压并配置环境变量
更新SDK
android update sdk