在ubuntu中建立android开发环境

来源:互联网 发布:淘宝卖家发货地址 编辑:程序博客网 时间:2024/05/01 21:19

官方推荐ubuntu版本是64位的Ubuntu LTS (10.04)


一、建立Android基本开发环境

在Linux中建立Android开发环境,通常你需要一下几样东西:
  • Python 2.5 -- 2.7
  • GNU Make 3.8.1 -- 3.8.2
  • Gingerbread或以后的版本需要安装JDK6,Froyo或更老版本安装JDK5就可以了。
  • Git 1.7或以上版本


详细步骤如下:

1. 安装JDK

JDK6:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$ sudo apt-get update$ sudo apt-get install sun-java6-jdk
JDK5:
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"$ sudo apt-get update$ sudo apt-get install sun-java5-jdk


2. 安装必要软件包

(1)Ubuntu 10.04 -- 11.10

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \  libxml2-utils xsltproc
在Ubuntu 10.10上还需要:
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
在Ubuntu 11.10上还需要:
$ sudo apt-get install libx11-dev:i386
(2)Ubuntu 12.04
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \  g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown \  libxml2-utils xsltproc zlib1g-dev:i386

3. 配置USB访问

在Ubuntu中,默认情况下普通用户是不能直接访问USB设备的,所以需要对系统做一些配置。建议的方法是创建一个文件/etc/udev/rules.d/51-android.rules,并在该文件中添加如下内容:

# adb protocol on passion (Nexus One)SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"# fastboot protocol on passion (Nexus One)SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"# adb protocol on crespo/crespo4g (Nexus S)SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"# fastboot protocol on crespo/crespo4g (Nexus S)SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"# adb protocol on stingray/wingray (Xoom)SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"# fastboot protocol on stingray/wingray (Xoom)SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"# adb protocol on maguro/toro (Galaxy Nexus)SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"# fastboot protocol on maguro/toro (Galaxy Nexus)SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"# adb protocol on panda (PandaBoard)SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"# fastboot protocol on panda (PandaBoard)SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"# usbboot protocol on panda (PandaBoard)SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"

将username替换成你的用户名就可以了。

如果上面的方法不行,可以试用一下另外一种方式,还是在51-android.rules里添加如下内容:

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"


如果遇到连adb devices执行之后什么都没有,不妨将idVendor加入到~/.android/adb_usb.ini文件中,例如:0x1782


二、建立ccache

ccache相当于一个编译缓存,它能够加快重新编译的速度,当然如果你说你不需要,也可以不做这步。

1. 在.bashrc中添加如下内容:

export USE_CCACHE=1


2. 默认情况下cache将会存储在~/.ccache下。如果你想修改成其它目录,在.bashrc中添加如下内容就可以了:

export CCACHE_DIR=<path-to-your-cache-directory>


3. 设置cache大小,建议cache大小在50-100GB之间,你下载源代码时需要运行如下命令:

prebuilt/linux-x86/ccache/ccache -M 50G
这个设置将会一直存储在CCACHE_DIR目录中。


三、使用单独的目录作为输出目录

默认情况下,编译的输出部分将会存放在源码中的out目录下,当然你如果想修改成其它地方也是可以的,只需要一步就可以了。

设置环境变量OUT_DIR_COMMON_BASE指向你的输出目录位置。

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>


本文参考来自android官网:http://source.android.com/source/initializing.html


原创粉丝点击