第二章 搭建Android 开发环境

虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库。底层开发不仅需要交叉编译环境,还要开发应用环境。

所使用到的工具有:JDK6或以上版本,Eclipse3.4或以上版本,ADT,CDT,Android SDK,Android NDK,交叉编译环境  ,Android源代码,用于调试开发板的串口工具:minicom。

安装SDK

第一种方法:官网上下载JDK,gar.gz解压,然后在Linux终端输入命令配置环境变量。http://www.oracle.com/technetwork/java/javase/downloads/index.html

打开profile       gedit /etc/profile

在文件最后输入     export PATH=./developer/jdk6/bin:$PATH

重新加载        sourec /etc/profile

. /etc/profile

查看文件        echo $PATH

注意:PATH和等号之前及等号和点之间不能有空格、tab等字符。

第二种方法:在终端直接执行下列命令,在联网的前提下,但不需要在配置PATH环境变量。

add-apt-repository "deb http://archive.canonical.com/ lucid partner"

apt-get update

apt-get install sun-java6-jdk

搭建Android应用程序开发环境:

1.安装Android SDK

进入http://developer.android.com/sdk/index.html下载Linux版本的Android SDK会得到一个压缩文件,将其复制到某个目录下,然后解压,进入新增的目录中寻找android脚本文件,开始执行,选择自己需要的版本联络网下载,platforms中有很多资源,platforms-tools和tools中有很多常用的工具,建议加入PATH环境变量中。命令如下:

打开profile       gedit /etc/profile

在文件最后输入     

export ANDROID_SDK_PATH=/sdk/android/android-sdk-linux

export PATH=./developer/jdk6/bin$PATH

重新加载        sourec /etc/profile

2.安装Eclipse

在官网上同上找到点击下载,解压找到Eclipse即可开始执行。

3.安装ADT及配置

在线情况下help->Install New Software->add->add repository->name输入->在Location文本框输入http://dl-ssl.google.com/android/eclipse->ok,然后一路next直到finish。

离线安装只有在add repository中点击Archive选择离线安装即可,剩余一样。

在Eclipse中window->preference->左侧android->右侧SDK Location输入android SDK 安装目录->APPLE->ok。

4.建立ADV新建用new,新建好用start启动,则可以启动模拟器。

安装Android NDK开发环境

1.下载Android NDK在上述的同一个网站中,选择Linux版本即可。方法同Android程序驱动开发一样,在最后的脚本是ndt-build,添加到环境变量中。

2.安装CDT,地址如下

http://eclipse.org/cdt/downloads.php

http://download.ecplise.org/tools/cdt/releases.indigo

3.用命令方式编译Android NDK

4.导入Android NDK案例,import

5.配置Android NDK集成开发环境

Ecplise->properties->Builders->New->Choose configuration type->Program->ok弹出对话窗口填写,切换到Refresh,刷新,finish,切换到Builde Opotion->Specify Resources->jni,重新编译代码。 

配置交叉编译环境

http://www.mentor.com/embedded-software/sourcery-codebench/edition/lite-edition/

在网址中选择交叉编译的链接,虽然不是直接得到地址,可以点击“Download the GUN/Linux Release”,输入一些信息可以成功。发送到你所填写的Email地址中。

进入CodeSourcery的下载界面后,选择第一个链接,Linux版本的安装格式是bin格式,可以打开命令安装,执行下面操作。

sh pankage.bin交叉编译完成。

经过这一章的学习,明白了Linux驱动开发环境,Android应用程序开发环境,Android NDK开发环境,交叉编译环境,HAL程序库底层都是密切相关的,每个开发环境都是有紧密的步骤,要细心,对每个细节都不放过,反复思索多产生问题的根源,等到完成以后与他人分享成果,心得,可以加进学习。

Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得的更多相关文章

  1. Android系统移植与驱动开发----第一章

    第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...

  2. Android深度探索HAL与驱动开发 第二章 搭建Android开发环境

    通常以应用移植和系统移植的为Andorid系统移植的主要部分.同时为了适应不同平台硬件设备,对源代码进行相应的修改.除了要移植相适应的CPU架构,最重要是移植Linux驱动. 但是由于一些特别的原因, ...

  3. 第一章 Android系统移植与驱动开发概述

    本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...

  4. 第一章Android系统移植与驱动开发概述--读书笔记

    以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...

  5. 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制(瘋耔修改篇一)

    首先非常感谢原文作者为我们提供的知识库,因为有你们的贡献,我们的开发难度更显简单 原文 :   http://blog.csdn.net/mr_raptor/article/details/30113 ...

  6. Android深度探索HAL和驱动开发(卷1) 第一章 Android系统移植和驱动开发

    由于Android是基于Linux内核的,因此,Android和其他Linux系统的核心部分差异非常小.然而不同版本的Android使用的Linux内核的版本有细微的差异,所以不同Android驱动可 ...

  7. 第一章:Android系统移植与驱动开发概述

    Android是基于Linux内核的,与Linux内核没有太大的区别,只是增加了一些自己独有的驱动,随着Android发布版本的不断升级,他所使用的Linux内核也在不断升级,以适应新的安卓版本,为他 ...

  8. Android系统移植与驱动开发

    21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. ...

  9. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)

    第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...

随机推荐

  1. magento后台 Fatal error: Call to a member function getId() on a non-object in错误

    后台分类管理出现错误 Fatal error: Call to a member function getId() on a non-object in 在数据库中运行以下sql语句 INSERT I ...

  2. [Windows] php开发工具,zendstudio13使用方法补丁

    官网原版下载 http://downloads.zend.com/studio ... win32.win32.x86.exe 破解补丁: 链接:http://pan.baidu.com/s/1gdi ...

  3. vm拷贝cloudera-scm-agent造成问题

    ------------网络问题---------- ifconfig...没有看到eth0..然后重启网卡又报下面错误. 故障现象: service network restartShutting  ...

  4. SQL SERVER 2008 nvarchar 转换 deciaml 失败(nvarchar to decimal)

    转换数据发生 消息 8115,级别 16,状态 6,第 1 行 将 nvarchar 转换为数据类型 numeric 时出现算术溢出错误. nvarchar 是带很长小数,直接转换成decimal 失 ...

  5. bt种子文件文件结构

      估计80%以上接触互联网的人都知道bt是什么东西,任何一个用bt下载的人都知道这样一个概念,种子.bt种子就是记录了p2p对等网络中tracker, nodes, files等信息,也就是说,这个 ...

  6. 151111 sqlite3数据库学习

    最近在学习数据库,想起去年做的项目里用到了sqlite3.那时候,没有任何的数据库经验,误打误撞,找到了sqlite3,然后参考网络上零碎的信息,把它嵌入到工程里,并且成功了.可惜,那时候没有好好保存 ...

  7. 【Linux】 诊断工具-strace

    1,别人家的总结: http://www.cnblogs.com/bangerlee/archive/2012/02/20/2356818.html 2,我自己碰到问题: 暂无. 3,使用场景: 程序 ...

  8. BZOJ 1023 仙人掌图

    Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的回 ...

  9. [BZOJ 1801] [Ahoi2009]chess 中国象棋 【DP】

    题目链接:BZOJ - 1801 题目分析 对于50%的数据是可以直接状压 DP 的. 对于100%的数据,使用递推的 DP .(或者这只叫递推不叫 DP ?) 可以发现,每一行和每一列的棋子个数不能 ...

  10. angular2 学习笔记 (Typescript - Attribute & reflection)

    refer : https://www.npmjs.com/package/reflect-metadata refer : https://www.typescriptlang.org/docs/h ...