您的位置:首页 > 移动开发 > Android开发

在ubuntu中建立android开发环境

2012-06-04 10:44 330 查看
官方推荐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:

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

JDK5:

[code]$ 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

[code]$ 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上还需要:

[code]$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

在Ubuntu 11.10上还需要:

[code]$ sudo apt-get install libx11-dev:i386

(2)Ubuntu 12.04

[code]$ 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,并在该文件中添加如下内容:

[code]# 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中添加如下内容:

[code]export USE_CCACHE=1


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

[code]export CCACHE_DIR=<path-to-your-cache-directory>


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

[code]prebuilt/linux-x86/ccache/ccache -M 50G

这个设置将会一直存储在CCACHE_DIR目录中。

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

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

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

[code]export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>


本文参考来自android官网:http://source.android.com/source/initializing.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: