今天开始学习NDK ,记录下环境配置的过程。
NDK R4与R1~R3的使用是不同的。 R1~R3 是要执行一个/build/host-setup.sh的文件的,在R4中没了。
当然这个是在ubuntu下安装的你得有ubuntu的环境,我是用的ubuntu-10.04-desktop-i386 。
用的是vm虚拟机安装的。安装后更新了很多软件,一个重要的是ssh 啊 。
$ sudo apt-get install openssh-server
启动服务:
$ sudo /etc/init.d/ssh start
如果想让ssh服务开机启动,就要修改配置文件。年纪大了记不住啥文件了,就下载了一个ubuntu下管理开机启动的工具rcconf,
和redhat的 ntsysv一样好用。
$ sudo apt-get install rcconf
安装后运行
$ sudo rcconf
将ssh服务勾选就可以了。
言归正传
1 首先下载NDK,顺便把sdk的地址也发上来
下载地址: (参考资料: http://www.iposei.com/?p=265)
ANDROID SDK | |
---|---|
平台 | 下载地址 |
Windows | http://dl.google.com/android/android-sdk_r07-windows.zip
|
Mac OS | http://dl.google.com/android/android-sdk_r07-mac_x86.zip
|
Linux | http://dl.google.com/android/android-sdk_r07-linux_x86.tgz |
ADT |
---|
http://dl-ssl.google.com/android/ADT-0.9.9.zip
|
2 配置NDK
a 将android-ndk-r4b-linux-x86.zip包解压。
我是建个一个工作目录/workspace/ndk
将压缩包放在此目录下,
$ unzip android-ndk-r4b-linux-x86.zip
b 然后改名,名字太长不方便。
$ mv android-ndk-r4b ndkr4
c 为ndk-build设置环境变量
(为了方便使用而已)
修改你的.bashrc 文件
$ vi ~/.bashrc
在最后添加
export NDK_HOME=/workspace/ndk/ndkr4/
export PATH=$PATH:$NDK_HOME
保存退出。
让设置马上生效
$ source ~/.bashrc
测试下是否配置ok
$ ndk-build
ndk-build
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
/workspace/ndk/ndkr4/build/core/build-local.mk:85: *** Android NDK: Aborting . Stop.
只要不是 command not found 就好, 哈哈哈你就是成功了,管他报不报错。
3 简单编译下demo
在NDK_HOME的根目录下有个samples/hello-jni/例子
运行命令:
这里我用的是root用户,因为我不是专业的linux人员,懒得管那么多权限问题,直接用root
# ndk-build -C /workspace/ndk/ndkr4/samples/hello-jni/
make: Entering directory `/workspace/ndk/ndkr4/samples/hello-jni'
Gdbserver : [arm-eabi-4.4.0] /workspace/ndk/ndkr4/samples/hello-jni/libs/armeabi/gdbserver
Gdbsetup : /workspace/ndk/ndkr4/samples/hello-jni/libs/armeabi/gdb.setup
Gdbsetup : + source directory /workspace/ndk/ndkr4/samples/hello-jni/jni
Install : libhello-jni.so => /workspace/ndk/ndkr4/samples/hello-jni/libs/armeabi
make: Leaving directory `/workspace/ndk/ndkr4/samples/hello-jni'
出现以上类似信息你就ok了,在hello-jni工程的obj下有你想要的东西。
另外一种编译方法:
# cd /workspace/ndk/ndkr4/samples/hello-jni/
# ndk-build
也是ok的
这里我们为ndk-build 设置了环境变量所以能够看到这个命令。
当我自己安装ok了,后来发现网上有类似的文章,哈哈哈
---------------------------------------------------------------------------------------------
1.下载NDK,注意下载的是r4版本
http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip
2.下载完成后解压到某一目录,我的是在
zhangweia@ubuntu:~/android/android-ndk-r4b$ pwd
/home/zhangweia/android/android-ndk-r4b
zhangweia@ubuntu:~/android/android-ndk-r4b$ echo $HOME
/home/zhangweia
3.配置NDK的环境变量
zhangweia@ubuntu:~/android/android-ndk-r4b$ vi ~/.bashrc
在打开的文件末尾添加:
NDK=$HOME/android/android-ndk-r4b/
export NDK
执行下面的命令,保存环境便利,然后查看是否生效:
zhangweia@ubuntu:~/android/android-ndk-r4b$ source ~/.bashrc
zhangweia@ubuntu:~/android/android-ndk-r4b$ echo $NDK
/home/zhangweia/android/android-ndk-r4b/
4.编译例子。
进入NDK 的例子目录samples/hello-jni,然后在该目录下执行$NDK/ndk-build,编译成功后会在该目录多生成2个子目录libs,obj目录
然后打开eclipse ,添加存在的hello-jni工程 ,运行则