• Android研究Android系统编译、SDK编译、ADT编译、Android开发环境建立


    Android是嵌入式Linux发展的一个里程碑,近年来的嵌入式Linux应用之多,诸侯割据,也是时候有人来一统天下了,不说一统,也要给业界出个规范,出个信心,出个成功范本,Android就是嵌入式Linux的成功范例!

    Android开放源码,对于研究嵌入式领域的方方面面都太有帮助了!驱动、操作系统、虚拟机、构建系统、Java语言、C/C++语言、对开源软件的整合等等,从Android中能学到太多太多!
    本文从Android核心源码的下载、编译,以及ADT和SDK的编译和使用,给予详细介绍!

    0. 介绍

    ADT是Android针对eclipse的插件,提供了基本的工具,包括SDK的获取,配置等。所以开发Android应用ADT是必备工具!

    SDK是软件开发包,各个平台都会放出SDK来供开发者使用!

    Android源码中不包括kernel源码,需要另行下载编译!

    SDK和ADT可直接从Android源码中编译获得!

    repo是对git的封装,方便获取android源码的,源码用git维护的,所以用git获取源码也是一样的

    另:www.android.com网站上一切文档都有,网络上的文档也都是参照官方的!

    一. 基本开发环境

    Ubuntu-10.04即可,安装个本地源镜像,之后再安装软件包就速度飞快了!本文后续内容都假设系统为Ubuntu-10.04!

    二. 安装Android编译需要的系统工具

    官方参考页:http://source.android.com/source/initializing.html

    (1)安装java环境

    $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
    $ sudo apt-get update
    $ sudo apt-get install sun-java6-jdk

    注意:ubuntu12.04下

    A. android需要的jdk6安装
    B. http://www.oracle.com/technetwork/java/javase/downloads下载jdk6
    C. 下载jdk-6u37-linux-x64.bin
    D. 放到合适的目录,如/home/rda/work/soft/,./安装到当前目录
    E. 修改 ~/.bashrc增加环境变量

    export JAVA_HOME=/usr/lib/jvm/java-7-sun //根据实际路径修改

    export JRE_HOME=${JAVA_HOME}/jre

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

    export PATH=${JAVA_HOME}/bin:$PATH

    (2)安装需要的软件包

    $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev libz-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc


    三. 获取源码

    官方参考页:http://source.android.com/source/downloading.html

    当前的Android 代码托管在两个地方: https://github.com/android 和 https://android.googlesource.com 之前在 android.git.kernel.org 上也有托管,不过现在重定向到了 https://android.googlesource.com 好在都支持git访问。

    (0)sudo apt-get install git-core curl

    (1)建立repo工具目录,repo是对git源码控制工具的封装

    $ mkdir ~/bin
    $ PATH=~/bin:$PATH

    (2)获取repo工具

    $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo

    (3)初始化repo客户端

    $ mkdir WORKING_DIRECTORY
    $ cd WORKING_DIRECTORY
    $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

    (4)获取源码
    $ sudo sysctl -w net.ipv4.tcp_window_scaling=0

    $ repo sync -j1
    此时可能因为连接过多,有错误发生,不过没关系,改用repo sync试试先.不行的话,用下边的方法再试试.

    (4.0)如遇到错误:DownloadError: android.googlesource.com: <urlopen error [Errno 110] Connection timed out>

    说明是服务器拒绝过多链接,可以申请下授权,比较简 单:

    参考网址:http://blog.csdn.net/thl789/article/details/7524232

    1. 浏览器登录https://android.googlesource.com/new-password,并用gmail帐号登录;

    2. 点击网页上的“允许访问”,得到类似:

    1. machine android.googlesource.com login git-<userName>.gmail.com password <password>  
    2. machine android-review.googlesource.com login git-<userName>.gmail.com password <password>  

    的 信 息。

    3. 把上面那段信息(<userName>和<password>用自己得到的真实信息)追加到~/.netrc文件结尾;

    4. 下载地址的URI更改为https://android.googlesource.com/a/platform /manifest(中间加上了“/a”)即可。

    重复(3)步骤,用

    repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1
    后,再repo sync即可.

    四. 编译Android系统

    1. 编译整个系统

    官方参考链接:http://source.android.com/source/building.html

    启动ccache会加速编译,不过也会产生问题,建议先不使用!

    (1)启用环境

    $ source build/envsetup.sh

    (2)配置目标

    $ lunch full-eng

    (3)编译源码

    $ make -j4

    编译成功后,就可以运行模拟器看效果了,命令如下:

    export ANDROID_PRODUCT_OUT=$PWD/out/target/product/generic

    export ANDROID_SWT=$PWD/out/host/linux-x86/framework

    export PATH=$PATH:$PWD/out/host/linux-x86/bin

    emulator 即可看到效果了!

    2. 编译SDK

    (1)启用环境

    $ source build/envsetup.sh

    (2)配置目标

    $ lunch sdk-eng

    (3)编译源码

    $ make sdk -j4

    (4)编译结果在out/host/linux-x86/sdk目录就是sdk目录,此目录可备份下,以便后用

    3. 编译ADT

    export ECLIPSE_HOME=<XXXXXX> eclipse的根目录

    sdk/eclipse/scripts/build_server.sh ./adt/

    上边传说中的脚本可用来编译ADT,可我一直没成功!此处会依赖于后边的Eclipse,可在安装了Eclipse后再编译!

    编译前,注意备份SDK.

    4. 编译内核

    官方参考链接:http://source.android.com/source/building-kernels.html

    参考上面链即可,比较简单!


    五.建立Eclipse上的Android开发环境

    官方参考链接:http://developer.android.com/sdk/installing.html

    (1)获取Eclipse

    http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/SR2/eclipse-rcp-indigo-SR2-linux-gtk.tar.gz&url=http://download.actuatechina.com/eclipse/technology/epp/downloads/release/indigo/SR2/eclipse-rcp-indigo-SR2-linux-gtk.tar.gz&mirror_id=385

    解压即可,直接能用了!建议下载rcp版本的!

    (2)获取ADT

    前边如果自己编译出来了,则按照道理说是不用再下载或者在线安装的,这里说下下载方法!

    http://dl.google.com/android/ADT-18.0.0.zip 这个是目前最新的,下载即可

    (3)安装ADT

    Eclipse的Help里有个Install New Software,选择Achive,选择ADT-18.0.0.zip即可安装完成.

    (4)安装SDK

    SDK前边已经编译出来了,目录大约为out/host/linux-x86/sdk/,配置ADT的SDK目录即可,其他不用配置!

    (5)创建一个AVD

    AVD是虚拟设备,创建即可!

    至此,本文把大概的Android的系统编译,SDK安装,开发环境等介绍了一下!

    本文完!

  • 相关阅读:
    整数拆分问题的四种解法
    通配符匹配算法
    grundland去色
    rgb和lab的转换
    .Net library that makes converting between color spaces and comparing colors easy
    彩色图像灰度化论文
    ps图片黑白调整算法
    分数化小数算法
    计算机安全专有名词
    入侵检测
  • 原文地址:https://www.cnblogs.com/linucos/p/2478960.html
Copyright © 2020-2023  润新知