由于有时需要重新搭建Android源码开发环境,为了在遗忘时方便自己快速移植和开发,也为了给大家一个参考,
特总结此系列文档。有更好方法或文中有错误的地方,也希望大家多多指正,谢谢!
1、安装JDK、SDK
参考本博客文档:Linux Ubuntu Mint JDK、SDK安装环境变量
2、安装开发环境必备包
Ubuntu12.04以上
$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
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
On Ubuntu 10.10:
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
On Ubuntu 11.10:
$ sudo apt-get install libx11-dev:i386
3、配置USB
一个USB设备由两个ID来标识,Vender ID和Product ID,Vender ID由设备制造商向USB执行论坛申请,Product ID则由设备制造商自行分配。
一:官方常规配置法
首先输入命令查看当前所有USB:
$ lsusb
然后以Root权限在
/etc/udev/rules.d/50-android.rules文件
(若没有创建)
根据你自己的USB 配置以下参数:
(其中 "18d1" 、"4ee0"是你需要配置的USB 信息,<username>是你当前用户名)
二:万能配置法SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0600", OWNER="<username>"
如果你是开发用户,平时测试手机比较多,可以如下配置
清空/etc/udev/rules.d/51-android.rules(若没有创建)添加如下参数保存
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
最后修改该文件的权限:sudo chmod a+r /etc/udev/rules.d/51-android.rules
重新插拔一下USB或者执行: sudo service udev restart
小知识:
为什么这个文件要命名成51-android.rules,而不是其它的名字呢?
udev是Linux下的设备管理器,它支持即插即用,即自动识别新加入到系统中的外部设备,特别是USB设备。
udev的一个特点是,它允许指定一系列响应规则,在它侦测到新设备加入的时侯,执行它们。
udev要求将这些规则存储在/etc/udev/rules.d/目录下的文件中,该文件名必须以.rules结束。
一些系统之中,udev默认的规则存储在/etc/udev/rules.d/50-udev.rules文件中。
udev按照字母排序依次解释这些文件中的规则。
因此,如果你希望自己添加的规则在默认规则之后处理,那么文件名开头必须大于50,比如51。
这就是51-android.rules命名的缘由,它希望自己在默认的udev规则之后处理。
本文链接:http://blog.csdn.net/lechengyuyuan/article/details/21091245