Android NDK 开发环境搭建

【说明】原始环境
windows xp
vmware 6.5.2
ubuntu 10.04

一、安装NDK
1、准备工作目录
     /opt/
2、下载NDK到工作目录
     http://dl.google.com/android/ndk/android-ndk-1.6_r1-linux-x86.zip
3、解压
    可以在ubuntu的图形界面中,选中该文件进行解压即可。生成目录:android-ndk-1.6_r1
4、建立环境

   #cd android-ndk-1.6_r1
   #build/host-setup.sh

   结果,发生错误:

Checking host development environment.

NDK Root   : /home/chenzhengyong/workspace/android/android-ndk-1.6_r1

GNU Make   : make (version 3.81)

[: 205: Pass: unexpected operator

[: 205: Pass: unexpected operator

[: 205: Pass: unexpected operator

ERROR: Could not find a valid Nawk or Gawk executable.

       Please ensure that either one of them is installed.

       Use the --no-awk-check option to ignore this message.

    网上搜索,发现是因为ubuntu所用的shell是dash与大多数linux中使用的bash有差别,在if条件的判断时 = 和 ==的差别。在build/host-setup.sh 的第119行,将
    if [ "$result" == "Pass" ] ; then
改成
    if [ "$result" = "Pass" ] ; then

    即可。再次执行安装脚本:
   #build/host-setup.sh
   完成NDK环境的安装和搭建。
参考:http://blog.csdn.net/keensword007/archive/2009/12/12/4991910.aspx

二、试用NDK进行jni开发
     在android-ndk-1.6_r1/apps/目录下面,有几个简单的jni例子。我们就用其中的一个来试用一下NDK开发环境。
1、编译native库
    #cd $NDK_ROOT/apps/
    #cp hello-jni hello-jni-bak -r
    #cd ..
    #make APP=hello-jni
2、编译通过jni接口调用库的java代码
    启动Eclipse
    new->android project->create project from exist source,然后选用相应的目录。
    在project或者package explore中会有红叉提示错误。
    试图编译,发现提示project cannot be built until build path erros are resolved。build path,应该是与需要用到的java包和so库的路径设置有关系,从package explore中查看,发现android.jar能找到,那么另外一个需要用到的lib就是我们刚刚编译出来的libhello-jni.so,在 package explore视图中,选中libs中的该lib,右键单击,然后add to build path。
      再次编译,通过。
     实际上,这个build path的错误,和项目根目录的.classpath文件相关,上面将lib加入build path,也是反映在.classpath文件的修改上。

三、ubuntu下获取整个android源码(注意,不是androi NDK,这不是NDK必须的步骤)

【注意】
    android源代码已经被踢出了linux kernel主线。但是,android 源代码仍然存放在kernel.org服务器上,通过git管理。其源码的列表网址为:http://android.git.kernel.org/
1、工作目录准备
$mkdir /usr/src/android
$mkdir /usr/src/android/bin

2、下载repo脚本,以供整体下载使用
$curl http://android.git.kernel.org/repo >/usr/src/android/bin/repo
$chmod a+x /usr/src/android/bin/repo

3、初始化版本库
     如果要下载的是当前主线上最新版本(常常不稳定)
$repo init -u git://android.git.kernel.org/platform/manifest.git
     如果要下载的是某个特定分支上的版本,则只需在上面初始化时,在最后加上 -b <分支名>即可。
$repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake

4、进行同步
    实际也就是真正实施下载服务器上的代码到本地。
$repo sync

四、编译Android内核与整个源码
   可能需要用到其他交叉编译工具,暂保留,待后续研究。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值