同步CM10.1源码
本人的所有的操作必须在root用户下进行,如果root如法登陆的进行如下操作:
sudo -s
vim /etc/lightdm/lightdm.conf
增加
greeter-show-manual-login=true
allow-guest=false
保存:wq
重启reboot
使用root登陆即可。
1.同步前的准备
1)、64位ubuntu12.04(我的是vm虚拟机安装),首先配置JDK环境:
JDK1.6下载对应到x64 下载jdk-6u43-linux-x64.bin
终端输入:
chmod 777 /root/jdk-6u43-linux-x64.bin
安装后在你的当前用户下出现文件夹jdk1.6.0_43
mkdir -p /usr/lib/jvm/java
cd /usr/lib/jvm/java/
cp /root/jdk1.6.0_43 /usr/lib/jvm/java/
./jdk-6u43-linux-x64.bin
添加环境变量:
vim /etc/profile
文件最后增加:
#set java environment
JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_43
export JRE_HOME=/usr/lib/jvm/java/jdk1.6.0_43/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile 刷新
2)、下载安卓SDK(adt-bundle-linux-x86_64-20140321和adt-bundle-windows-x86_64-20131030均在安卓官网下载,如无法下载可以FQ或者在一下地址下载:http://pan.baidu.com/s/1o62W7Y6 和 http://pan.baidu.com/s/1gdtHzxx )(链接可能失效)
到这先设置Ubuntu下的SDK,先解压到root目录下,解压完的SDK目录为:/root/adt-bundle-linux-x86_64/sdk和/root/adt-bundle-linux-x86_64/eclipse,下面添加环境变量:
export PATH=${PATH}:/root/adt-bundle-linux-x86_64/sdk/tools:/root/adt-bundle-linux-x86_64/sdk/platform-tools
export PATH=${PATH}:/root/adt-bundle-linux-x86_64/sdk/eclipse
3)、运行eclipse配置安卓SDK
cd /root/adt-bundle-linux-x86_64/sdk/eclipse
./eclipse
在Help下选择Install New Software,在Work with中输入Android Developer Tools Update Site - https://dl.google.com/android/eclipse/安装所需的东西,下面的步骤和windows下安装SDK在此就不在细说,网上都有教程。(安装完成后adb必须能使用即可)
如果adb 命令还不能使用 ,有如下错误:
adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
adb组件,提供的是32位的
解决:
apt-get install ia32-libs
yes安装后 adb正常即可使用。
4)、安装编译环境
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 pngcrush schedtool tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
2.编译前必须先同步好CM源码,同步的方法如下:
64位系统安装依赖:
apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxslt1.1
apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.7-multilib
新建目录
mkdir -p ~/bin
安装repo
用下面的命令下载“repo”二进制文件并修改权限为可执行:
命令:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
(也可以在网上下载一个repo,大小是20K左右,如:http://pan.baidu.com/s/1kTC6eAN 可以下载一个分享的repo)
chmod a+x ~/bin/repo
添加~/bin目录到PATH环境变量
export PATH=${PATH}:~/bin
3.初始化源代码仓库
新建目录用于下载源代码,并切换到此目录:
命令:
mkdir -p ~/Source
命令:
cd Source
进入目录用下面的命令初始化仓库(CM 10.1) :
命令:
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
下载源代码
命令:
repo sync
这就是同步源代码,时间比较长,一般情况下不FQ是没办法同步的。
本人当初同步的时候也是参考网上的教程,难免会有出现跟其他教程同样的时候,最重要的还不是同步,而是环境的搭建跟后期的编译,
一般cm源码都是用来编译recovery的,当然不同型号的CPU编译的时候所需要的参数不一样,慢慢摸索,不懂谷歌,总会找到的...