Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 952|回复: 0

[实例教程]Android NDK 开发环境搭建

[复制链接]

该用户从未签到

发表于 2011-10-22 12:17:55 | 显示全部楼层 |阅读模式
【说明】原始环境
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" == &quotass" ] ; 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内核与整个源码
   可能需要用到其他交叉编译工具,暂保留,待后续研究。
回复

使用道具 举报

该用户从未签到

发表于 2011-10-22 12:18:00 | 显示全部楼层

Re:[实例教程]Android

:(:(:(:(
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-22 12:18:15 | 显示全部楼层

Re:[实例教程]Android

马上好了。谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-5 19:54 , Processed in 0.385448 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表