Android编译总结

1. 确定下载哪个版本Ubuntu

google官方指南(http://source.android.com/source/initializing.html)上面建议使用ubuntu 12.04 64-bit

2. 下载ubuntu,刻盘

打开ubuntu桌面版下载页面 http://www.ubuntu.com/download/desktop,选择12.04 64-bit版本下载 

 

 

3. 安装双系统

参考以下安装双系统图文教程。

注意给ubuntu分配的空间不能低于100G, 因为4.2源代码下载下来就有22G

参考

安装ubuntu 12.04, 分配4G swap分区,30G ext4 /root分区。100G /Home分区,反正现在谁都不缺这点儿硬盘空间。

建议划出单独分区挂载 /home,这样重装系统的时候/home下用户数据可以得以保留,你想什么时候重装系统什么时候重装系统

 

 

 

4.Android源码下载总结

(参考google官方文档http://source.android.com/source/downloading.html

 

4.1下载 工具,在编译之前 git-core 和 curl 是必需的

在终端执行

sudo apt-get install git-core curl 

 

4.2在用户目录下新建bin目录

在终端中执行:mkdir ~/bin

~/bin添加环境变量,作用是:要将repo工具下载此目录,在别的目录运行可能会找不到此软件,所以要添加到环境变量中

在终端中执行:PATH=~/bin:$PATH

 

4.3 下载repo工具

4.3.1 下载,执行以下命令

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

 

注:很多教程提供的是这个命令,curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo,实际上这个已经过时了,经过测试确实也连接不上,实际上google官方指南要求是上面的地址。

 

但这个脚本貌似比较老了,可以用这个repo脚本,另本文档目录内有一个repo脚本文件,可直接放到~/bin目录使用,这样就不需要执行“curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo”这条命令了。

 

 

4.3.2  给repo执行权限:

chmod a+x ~/bin/repo

 

4.4下载源代码

4.4.1. 建立source目录并进入到source目录中

mkdir source

cd source

 

4.4.2.  初始化repo,两条命令

repo init -u https://android.googlesource.com/platform/manifest

repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1

 

执行以上命令后,会在source目录中生成一个.repo的目录(注意前面有一个点,表示隐藏文件,默认情况下ubuntu里面看不到这个目录,ctrl+h即可显示出来),此目录保存了将要下载的源代码的相关信息

 

 

1

以上两步经常失败,提示host找不到,解决方法只能重试几次,没有别的办法。一般重试多次,或等一段时间重试即可成功。后面一条命令成功后会输出以下文本到终端

username@machine-name:~/source$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1

.repo/manifests/: discarding 52 commits

 

Your identity is: emailname <emailname@companyname.com>

If you want to change this, please re-run 'repo init' with --config-name

 

 

2

如果报错no commond repo ,则说明repo没加到系统PATH中去,重新执行前面加PATH的步骤,或者执行以下命令:

~/bin/repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1

3

如果失败,可尝试修改repo文件开始处https去掉s,变成http。我是改了,运行OK。如下:

REPO_URL = 'https://gerrit.googlesource.com/git-repo'

 

 

 

 

4

 repo init命令,也有人说可以直接用linaro地址来init

· repo init -u git://Androidgit.linaro.org/platform/manifest.git -b android-4.2_r1

· 同时manifest文件也要如后面步骤修改

这个我没试过,但这次我sync的时候一开始卡死几分钟,有如下错误,后来又自动好了。

error: Failed connect to android.googlesource.com:443; Connection timed out while accessing https://android.googlesource.com/platform/manifest/info/refs

参考这里 http://hi.baidu.com/j_key/item/170505ad9efd0037030a4d5d

 

5

执行这两条命令出错,

error: could not verify the tag 'v1.12.4'

后续sync命令 提示没repo init

 

解决:

删除/home/xx/.repoconfig目录,source 下的.repo 目录,或mv命令移动到其他地方执行

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

再重新执行初始化repo,搞定

参考http://www.marshut.com/wrrts/repo-release-1-12-4.html

 

6

其他常见错误及解决方法

· 如果不能下载,试用http链接 

$ repo init -u http://android.googlesource.com/platform/manifest -b android-4.0.1_r1 

· 如果 repo没有找到 branch 参数指出分支版本,就会输出大量信息

其中有可以下载分支的列表,由于内容过长,请参考http://blog.csdn.net/tonyfield/article/details/9734031

· 实际操作中,获得错误报告:fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

这个地址和你看到的可能不同,但肯定是 ~/bin/repo 5行或第6REPO_URL 所表示的网址。

stockoverflow上有贴提及是代理环境变量造成的问题,想到前面尝试过设置 HTTP_PROXY,用下面的指令清除,HTTPS_PROXY 存在的话也要清除 HTTPS_PROXY

unset HTTP_PROXY

unset HTTPS_PROXY

然后repo init成功。。。,

· 如果遇到报错:fatal: '../platform/abi/cpp.git' does not appear to be a git repository

.repo目录下的manifest.xml里找到fetch属性,改成
fetch="git://Android.git.linaro.org/"

· 提示输入你的姓名 及 邮件地址,你想要使用Gerrit code-review 工具的话就要用你申请的 Google账户使用的邮件地址,没有的话去申请一个,不用花多少时间。

Your Name [XXXXXX]: XXXXXX

 

4.4.3 修改manifest.xml,指定从linaro镜像下载:

.repo目录下的manifest.xml里找到fetch属性
改成:fetch="git://Android.git.linaro.org/"   

 

注意:

google下载代码总是失败,因此必须修改下载地址,从镜像下载最保险。

 

 

4.4.4 同步获取源码

执行:

repo sync

 

repo 信息下载后,用 “repo sync”命令将真正的Android代码同步到当前工作目录显示下载状态类似下面

 

1

如果repo 操作中遇到网络连接问题,可以通过修改hosts文件尝试解决。WindowsC:\WINDOWS\system32\drivers\etc目录下,Linux用户打开/etc/hosts文件,在文件的末尾添加下面2句:

74.125.31.82 www.googlesource.com. 
74.125.31.82 android.googlesource.com

 

2

由于下载代码经常断掉,可写一个自动脚本download.sh,断掉后重新开始下载。内容如下。

#!/bin/bash    

echo "======start repo sync======"    

repo sync    

while [ $? == 1 ]; do    

echo "======sync failed, re-sync again======"    

sleep 3    

repo sync    

done

 

步骤:

sudo gedit ~/source/download.sh

把上面的脚本拷贝进去,保存,退出

给脚本加可执行权限

chmod a+x download.sh

 

 

执行脚本: 

./download.sh

3

如果出现错误

fatal: '../platform/abi/cpp.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform/abi/cpp

 

解决方法

.repo目录下的manifest.xml里找到fetch属性
改成
fetch="git://Android.git.linaro.org/"

 

4

下载代码的官方指导文件在这里

http://source.android.com/source/downloading.html

 

5

如果中间出现中断,这个很正常,你可以再次输入 ~/bin/repo sync ./download.sh命令来进行下载。

6

根据网速的不同,下载时间也有快慢,最好在睡觉前或下班后下载代码,由于源文件比较大,一般国内都要5小时左右甚至更久。

若是出现以下信息,表示代码以下载完成:

Fetching projects: 100% (166/166), done.  

Syncing work tree: 100% (165/165), done.

 

 

 

附件:其他参考资料

 

通过另一个镜像网站下载android源码

 

I will describe another way to get the Android source codes if you hadn’t already cloned it’s repo before kernel.org servers went down.

Prepare the environment

First, you need to download “repo” script from kernel.org to my blog (please, enclose the URL address in double quotes):

1. curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo 

2. chmod a+x ~/bin/repo 

3. PATH=~/bin:$PATH 

 

 

Now, you can safely download the repository, like so:

 

1. mkdir source 

2. cd source // WORKING_DIRECTORY,代码下到这个目录

3. repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread 

4. repo sync 

注意,如果执行上面两行repo命令失败,报not permission, 原因是repo所在的文件夹没加到系统PATH中。 需要将 repo改为~/bin/repo

and start the development…

 

测试发现,该代码下载有问题,在65%处停住了,并且repo不是最新的。

由于google提供的repo目前可以访问,因此不建议用此方法,如果googlerepo被屏蔽了,可以尝试到这里 http://code.google.com/p/git-repo/downloads/list 下载repo

或者使用下面命令,注意红色标注的具体版本号参考前面网页中显示的最新版本号。

curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo 

如果以上方法都不行,再 考虑用下面这个方法。

 

另有一个查看代码的网站

http://androidxref.com/

 

 

 

ls –a to view the hide file..

 

 

Android源码编译之--搭建编译环境

 

搭建编译环境搭建,按下面GOOGLE官方指南:

http://source.android.com/source/initializing.html

1. 首先若是没有修改源,请修改为国内的源,从而提高软件的下载安装的速度

可以参考下面博客的内容添加一些速度快的源,如:台湾源、Ubuntu官方上海源、网易、搜狐、

http://hi.baidu.com/houxn22/item/48f0f7d150657c16d80e4468

注意:这里我按上面的做了,加了网易和sohu的源,发现了593个软件需要更新,耗时30分钟左右更新完毕。

1. 下载 些工具,如果在下载源代码之前就已经下载了 git-core 和 curl ,这里可以去掉这两个

$ 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 ncurses-dev \

  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

 

注:如果是32位的ubuntu,会出现很多工具找不到的问题,赶紧换64位吧。

安装java6

注意:openjdk不推荐使用,编译中可能造成混淆及功能缺失。通过以下命令卸载openjdk,如果是全新的ubuntu系统,本身是不带openjdk的,可忽略这一步

$ sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

2.1 添加apt 

sudo add-apt-repository "deb http://ppa.launchpad.net/ferramroberto/java/ubuntu natty main" 

sudo apt-get update

2.2 添加partner

sudo add-apt-repository "deb http://archive.canonical.com/ubuntu maverick partner" 

sudo apt-get update

2.3 安装 java6-jre

$ sudo apt-get install sun-java6-jre sun-java6-plugin

2.4 安装 java6-jdk

$ sudo apt-get install sun-java6-jdk sun-java6-plugin


2.5 察看版本

$ java -version

显示信息如下则OK

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

注:可能在国内连不上java的源,这个时候可以到oracle官网下载JDK 1.6,需要注册一下,一个页面很快就搞定了。注意要下载64位版本, 然后手动安装。本文档目录下附有JDK1.6。

 

Android源码编译之--正式编译

Google官方指南参考 http://source.android.com/source/building-running.html

1. 环境设置,

下载好源码后,进入源码目录,即之前执行 repo sync的路径下,用下面两个命令之一,第二个命令简短一点,两个命令效果没区别

$ source build/envsetup.sh

$ . build/envsetup.sh

2.  选择编译的目标,用lunch指令,参数用来指定目标配置

$ lunch full-eng

参数形式是 BUILD-BUILDTYPE,其中 BUILD 是表明要合并的特殊特征的code name,下面是部分参数:

Build name

Device

Notes

full

emulator

fully configured with all languages, apps, input methods

full_maguro

maguro

full build running on Galaxy Nexus GSM/HSPA+ ("maguro")

full_panda

panda

full build running on PandaBoard ("panda")

 BUILDTYPE 可选下面参数:

Buildtype

Use

user

限制访问;适合作为产品

userdebug

类似 "user" 但可以有 root 访问权限和可调试;适用于调试设备

eng

带有附加调试工具的开发配置

新手直接输入lunch,不带参数,会输出可选参数供你选择,类似下面这样

     1. aosp_arm-eng
     2. aosp_x86-eng
     3. aosp_mips-eng
     4. vbox_x86-eng
     5. full_maguro-userdebug
     6. full_toroplus-userdebug
     7. full_manta-userdebug
     8. full_toro-userdebug
     9. full_mako-userdebug
     10. full_panda-userdebug
     11. mini_mips-userdebug
     12. mini_armv7a_neon-userdebug
     13. mini_x86-userdebug
     14. full_arndale-userdebug
     15. aosp_flo-userdebug
     16. full_tilapia-userdebug
     17. full_grouper-userdebug
     18. aosp_deb-userdebug

3. 开始编译,make -j4

 参数 后数字表示以几个线程编译,4核的机器用j4编译。我的双核用两个线程编译耗时12小时以上完成,当看到以下输出时表明编译完成:

Install system fs image: out/target/product/generic/system.img

out/target/product/generic/system.img+ maxsize=588791808 blocksize=2112 total=576716800 reserve=5947392

 

 

 

 

附录:编译过程中常见问题解决

 

4. 管理员不能直接修改只读文件,要用 sudo gedit /etc/apt/sources.list命令

 

5. 安装JDK卡住问题.按教程方法安装,

安装完成后会出现如下界面:

 

这是你会发现突然就卡在了一个界面,怎么搞逗不动了。显示正在设定sun-java6-jre,下面还有一个确定选项,可是怎么按Enter,怎么按空格键,也怎么不反应,还是停留在那里……

解决办法很简单直接按下Tab键,就可以选中“确定”选项,这时候,“确定”选项会成为红色,按下enter键就可以进入下一步了,接下来提示是否同意DLJ协议,同样通过Tab键选择“是”即可。整个JDK就顺利安装了。

 

6. 默认的JVM

可以在/etc/jvm查看默认的JVM

 

7. 安装samba

参考《Ubuntu怎么设置samba服务器》,及《Android系统移植技术详解.doc

 

启动samba服务,教程有问题

sudo /etc/init.d/samba restart

应改为

sudo /etc/init.d/smbd restart

 

8. 切换到root超级用户方法

打开终端,开始菜单点击"应用程序"——"附件"——"终端",进入超级用户操作,linux初始安装时时没有为root用户创建密码,假设我的系统还没为root用户创建密码,在终端中输入:

sudo passwd root 

系统会提示你输入当前用户密码,输入root密码,然后切换到root用户:

su root

输入刚才创建的root密码,这样就切换到了超级用户了。

 

9. VMware虚拟机下ubuntuwindows实现文件共享

 1)安装VMware-tools

点击VMware工具栏''VM”——“install VMware tools...",这时桌面会出现光盘形状的VMware Tools,而且会自动跳出目录,里面包含两个文件,"manifest.txt""VMwareTools-8.4.5-324285.tar.gz"

按这个方法切换到超级用户

 

打开终端,开始菜单点击"应用程序"——"附件"——"终端",进入超级用户操作,linux初始安装时时没有为root用户创建密码,假设我的系统还没为root用户创建密码,在终端中输入:

sudo passwd root 

系统会提示你输入当前用户密码,输入root密码,然后切换到root用户:

su root

输入刚才创建的root密码,这样就切换到了超级用户了。

 

继续在终端输入 cd /media/VMware Tools       进入安装文件目录

cp VMwareTools-8.4.5-324285.tar.gz /tmp        VMware Tools压缩包拷贝到临时文件夹/tmp

cd /tmp                                    进入临时文件夹

ls                            显示该该文件夹的文件,其中就有VMwareTools-8.4.5-324285.tar.gz 

tar zxvf VMwareTools-8.4.5-324285.tar.gz         解压该压缩文件

ls                                         会发现文件vmware-tools-distrib

cd vmware-tools-distrib                       进入该文件夹

ls                                         里面有vmware-install.pl

./vmware-install.pl                           安装vmware-tools

一路EnterVMware-tools就安装成功了。

上面解压缩的过程也可以双击.gz文件,在图形界面下解压

2)点击 VM——setting——options——shared Folders,选择Always enabled,点击下面Add添加windows中的共享文件夹,我选择的是F盘,然后保存修改。

 

3)重新启动ubuntu,你就可以在目录/mnt/hgfsz下发现名为"F"的文件夹了,双击就会发现时windows下的F盘的内容,你可以在ununtu下在里面进行读写操作了。

 

10. Jdk安装方法

按教程的方法安装JDK, 

然后修改默认JDK即可,不需要其他修改配置文件的步骤

运行:

sudo update-alternatives --config java

并从列表中选择你的选项。

编译源码参考: Ubuntu12.04下的Android 源码编译 

 

2013.8.3 android 版本分支列表

 

 

2013.8.3 android 版本分支列表

* [new branch] android-1.6_r1 -> origin/android-1.6_r1

* [new branch] android-1.6_r1.1 -> origin/android-1.6_r1.1
* [new branch] android-1.6_r1.2 -> origin/android-1.6_r1.2
* [new branch] android-1.6_r1.3 -> origin/android-1.6_r1.3
* [new branch] android-1.6_r1.4 -> origin/android-1.6_r1.4
* [new branch] android-1.6_r1.5 -> origin/android-1.6_r1.5
* [new branch] android-1.6_r2 -> origin/android-1.6_r2
* [new branch] android-2.0.1_r1 -> origin/android-2.0.1_r1
* [new branch] android-2.0_r1 -> origin/android-2.0_r1
* [new branch] android-2.1_r1 -> origin/android-2.1_r1
* [new branch] android-2.1_r2 -> origin/android-2.1_r2
* [new branch] android-2.1_r2.1p -> origin/android-2.1_r2.1p
* [new branch] android-2.1_r2.1p2 -> origin/android-2.1_r2.1p2
* [new branch] android-2.1_r2.1s -> origin/android-2.1_r2.1s
* [new branch] android-2.2.1_r1 -> origin/android-2.2.1_r1
* [new branch] android-2.2.1_r2 -> origin/android-2.2.1_r2
* [new branch] android-2.2.2_r1 -> origin/android-2.2.2_r1
* [new branch] android-2.2.3_r1 -> origin/android-2.2.3_r1
* [new branch] android-2.2.3_r2 -> origin/android-2.2.3_r2
* [new branch] android-2.2.3_r2.1 -> origin/android-2.2.3_r2.1
* [new branch] android-2.2_r1 -> origin/android-2.2_r1
* [new branch] android-2.2_r1.1 -> origin/android-2.2_r1.1
* [new branch] android-2.2_r1.2 -> origin/android-2.2_r1.2
* [new branch] android-2.2_r1.3 -> origin/android-2.2_r1.3
* [new branch] android-2.3.1_r1 -> origin/android-2.3.1_r1
* [new branch] android-2.3.2_r1 -> origin/android-2.3.2_r1
* [new branch] android-2.3.3_r1 -> origin/android-2.3.3_r1
* [new branch] android-2.3.3_r1.1 -> origin/android-2.3.3_r1.1
* [new branch] android-2.3.4_r0.9 -> origin/android-2.3.4_r0.9
* [new branch] android-2.3.4_r1 -> origin/android-2.3.4_r1
* [new branch] android-2.3.5_r1 -> origin/android-2.3.5_r1
* [new branch] android-2.3.6_r0.9 -> origin/android-2.3.6_r0.9
* [new branch] android-2.3.6_r1 -> origin/android-2.3.6_r1
* [new branch] android-2.3.7_r1 -> origin/android-2.3.7_r1
* [new branch] android-2.3_r1 -> origin/android-2.3_r1
* [new branch] android-4.0.1_r1 -> origin/android-4.0.1_r1
* [new branch] android-4.0.1_r1.1 -> origin/android-4.0.1_r1.1
* [new branch] android-4.0.1_r1.2 -> origin/android-4.0.1_r1.2
* [new branch] android-4.0.2_r1 -> origin/android-4.0.2_r1
* [new branch] android-4.0.3_r1 -> origin/android-4.0.3_r1
* [new branch] android-4.0.3_r1.1 -> origin/android-4.0.3_r1.1
* [new branch] android-4.0.4_r1 -> origin/android-4.0.4_r1
* [new branch] android-4.0.4_r1.1 -> origin/android-4.0.4_r1.1
* [new branch] android-4.0.4_r1.2 -> origin/android-4.0.4_r1.2
* [new branch] android-4.0.4_r2 -> origin/android-4.0.4_r2
* [new branch] android-4.0.4_r2.1 -> origin/android-4.0.4_r2.1
* [new branch] android-4.1.1_r1 -> origin/android-4.1.1_r1
* [new branch] android-4.1.1_r1.1 -> origin/android-4.1.1_r1.1
* [new branch] android-4.1.1_r2 -> origin/android-4.1.1_r2
* [new branch] android-4.1.1_r3 -> origin/android-4.1.1_r3
* [new branch] android-4.1.1_r4 -> origin/android-4.1.1_r4
* [new branch] android-4.1.1_r5 -> origin/android-4.1.1_r5
* [new branch] android-4.1.1_r6 -> origin/android-4.1.1_r6
* [new branch] android-4.1.1_r6.1 -> origin/android-4.1.1_r6.1
* [new branch] android-4.1.2_r1 -> origin/android-4.1.2_r1
* [new branch] android-4.1.2_r2 -> origin/android-4.1.2_r2
* [new branch] android-4.1.2_r2.1 -> origin/android-4.1.2_r2.1
* [new branch] android-4.2.1_r1 -> origin/android-4.2.1_r1
* [new branch] android-4.2.1_r1.1 -> origin/android-4.2.1_r1.1
* [new branch] android-4.2.1_r1.2 -> origin/android-4.2.1_r1.2
* [new branch] android-4.2.2_r1 -> origin/android-4.2.2_r1
* [new branch] android-4.2.2_r1.1 -> origin/android-4.2.2_r1.1
* [new branch] android-4.2.2_r1.2 -> origin/android-4.2.2_r1.2
* [new branch] android-4.2.2_r1.2b -> origin/android-4.2.2_r1.2b
* [new branch] android-4.2_r1 -> origin/android-4.2_r1
* [new branch] android-4.3_r0.9 -> origin/android-4.3_r0.9
* [new branch] android-4.3_r0.9.1 -> origin/android-4.3_r0.9.1
* [new branch] android-4.3_r1 -> origin/android-4.3_r1
* [new branch] android-4.3_r2 -> origin/android-4.3_r2
* [new branch] android-4.3_r2.1 -> origin/android-4.3_r2.1
* [new branch] android-cts-2.2_r8 -> origin/android-cts-2.2_r8
* [new branch] android-cts-2.3_r10 -> origin/android-cts-2.3_r10
* [new branch] android-cts-2.3_r11 -> origin/android-cts-2.3_r11
* [new branch] android-cts-2.3_r12 -> origin/android-cts-2.3_r12
* [new branch] android-cts-4.0.3_r1 -> origin/android-cts-4.0.3_r1
* [new branch] android-cts-4.0.3_r2 -> origin/android-cts-4.0.3_r2
* [new branch] android-cts-4.0_r1 -> origin/android-cts-4.0_r1
* [new branch] android-cts-4.1_r1 -> origin/android-cts-4.1_r1
* [new branch] android-cts-4.1_r2 -> origin/android-cts-4.1_r2
* [new branch] android-cts-4.2_r2 -> origin/android-cts-4.2_r2
* [new branch] android-cts-verifier-4.0.3_r1 -> origin/android-cts-verifier-4.0.3_r1
* [new branch] android-cts-verifier-4.0_r1 -> origin/android-cts-verifier-4.0_r1
* [new branch] android-sdk-4.0.3-tools_r1 -> origin/android-sdk-4.0.3-tools_r1
* [new branch] android-sdk-4.0.3_r1 -> origin/android-sdk-4.0.3_r1
* [new branch] android-sdk-adt_r16.0.1 -> origin/android-sdk-adt_r16.0.1
* [new branch] android-sdk-adt_r20 -> origin/android-sdk-adt_r20
* [new branch] android-sdk-support_r11 -> origin/android-sdk-support_r11
* [new branch] froyo -> origin/froyo
* [new branch] gingerbread -> origin/gingerbread
* [new branch] gingerbread-release -> origin/gingerbread-release
* [new branch] ics-mr0 -> origin/ics-mr0
* [new branch] ics-mr1 -> origin/ics-mr1
* [new branch] ics-plus-aosp -> origin/ics-plus-aosp
* [new branch] jb-dev -> origin/jb-dev
* [new branch] jb-mr1-dev -> origin/jb-mr1-dev
* [new branch] jb-mr1-dev-plus-aosp -> origin/jb-mr1-dev-plus-aosp
* [new branch] jb-mr1.1-dev -> origin/jb-mr1.1-dev
* [new branch] jb-mr1.1-dev-plus-aosp -> origin/jb-mr1.1-dev-plus-aosp
* [new branch] jb-mr2-dev -> origin/jb-mr2-dev
* [new branch] jumper-stable -> origin/jumper-stable
* [new branch] master -> origin/master
* [new branch] master-dalvik -> origin/master-dalvik
* [new branch] tools_r20 -> origin/tools_r20
* [new branch] tools_r21 -> origin/tools_r21
* [new branch] tools_r21.1 -> origin/tools_r21.1
* [new branch] tools_r22 -> origin/tools_r22
* [new branch] tradefed -> origin/tradefed
* [new tag] android-1.6_r1.1_ -> android-1.6_r1.1_
* [new tag] android-1.6_r1.2_ -> android-1.6_r1.2_
* [new tag] android-1.6_r1.3_ -> android-1.6_r1.3_
* [new tag] android-1.6_r1.4_ -> android-1.6_r1.4_
* [new tag] android-1.6_r1.5_ -> android-1.6_r1.5_
* [new tag] android-1.6_r1_ -> android-1.6_r1_
* [new tag] android-1.6_r2_ -> android-1.6_r2_
* [new tag] android-2.0.1_r1_ -> android-2.0.1_r1_
* [new tag] android-2.0_r1_ -> android-2.0_r1_
* [new tag] android-2.1_r1_ -> android-2.1_r1_
* [new tag] android-2.1_r2.1p2_ -> android-2.1_r2.1p2_
* [new tag] android-2.1_r2.1p_ -> android-2.1_r2.1p_
* [new tag] android-2.1_r2.1s_ -> android-2.1_r2.1s_
* [new tag] android-2.1_r2_ -> android-2.1_r2_
* [new tag] android-2.2.1_r1_ -> android-2.2.1_r1_
* [new tag] android-2.2.1_r2_ -> android-2.2.1_r2_
* [new tag] android-2.2.2_r1_ -> android-2.2.2_r1_
* [new tag] android-2.2.3_r1 -> android-2.2.3_r1
* [new tag] android-2.2.3_r2 -> android-2.2.3_r2
* [new tag] android-2.2.3_r2.1 -> android-2.2.3_r2.1
* [new tag] android-2.2_r1.1_ -> android-2.2_r1.1_
* [new tag] android-2.2_r1.2_ -> android-2.2_r1.2_
* [new tag] android-2.2_r1.3_ -> android-2.2_r1.3_
* [new tag] android-2.2_r1_ -> android-2.2_r1_
* [new tag] android-2.3.1_r1_ -> android-2.3.1_r1_
* [new tag] android-2.3.2_r1_ -> android-2.3.2_r1_
* [new tag] android-2.3.3_r1.1_ -> android-2.3.3_r1.1_
* [new tag] android-2.3.3_r1_ -> android-2.3.3_r1_
* [new tag] android-2.3.4_r0.9_ -> android-2.3.4_r0.9_
* [new tag] android-2.3.4_r1_ -> android-2.3.4_r1_
* [new tag] android-2.3.5_r1_ -> android-2.3.5_r1_
* [new tag] android-2.3.6_r0.9 -> android-2.3.6_r0.9
* [new tag] android-2.3.6_r1 -> android-2.3.6_r1
* [new tag] android-2.3.7_r1 -> android-2.3.7_r1
* [new tag] android-2.3_r1_ -> android-2.3_r1_
* [new tag] android-4.0.1_r1 -> android-4.0.1_r1
* [new tag] android-4.0.1_r1.1 -> android-4.0.1_r1.1
* [new tag] android-4.0.1_r1.2 -> android-4.0.1_r1.2
* [new tag] android-4.0.2_r1 -> android-4.0.2_r1
* [new tag] android-4.0.3_r1 -> android-4.0.3_r1
* [new tag] android-4.0.3_r1.1 -> android-4.0.3_r1.1
* [new tag] android-4.0.4_r1 -> android-4.0.4_r1
* [new tag] android-4.0.4_r1.1 -> android-4.0.4_r1.1
* [new tag] android-4.0.4_r1.2 -> android-4.0.4_r1.2
* [new tag] android-4.0.4_r2 -> android-4.0.4_r2
* [new tag] android-4.0.4_r2.1 -> android-4.0.4_r2.1
* [new tag] android-4.1.1_r1 -> android-4.1.1_r1
* [new tag] android-4.1.1_r1.1 -> android-4.1.1_r1.1
* [new tag] android-4.1.1_r1_ -> android-4.1.1_r1_
* [new tag] android-4.1.1_r2 -> android-4.1.1_r2
* [new tag] android-4.1.1_r3 -> android-4.1.1_r3
* [new tag] android-4.1.1_r4 -> android-4.1.1_r4
* [new tag] android-4.1.1_r5 -> android-4.1.1_r5
* [new tag] android-4.1.1_r6 -> android-4.1.1_r6
* [new tag] android-4.1.1_r6.1 -> android-4.1.1_r6.1
* [new tag] android-4.1.2_r1 -> android-4.1.2_r1
* [new tag] android-4.1.2_r2 -> android-4.1.2_r2
* [new tag] android-4.1.2_r2.1 -> android-4.1.2_r2.1
* [new tag] android-4.2.1_r1.1 -> android-4.2.1_r1.1
* [new tag] android-4.2.1_r1.2 -> android-4.2.1_r1.2
* [new tag] android-4.2.1_r1__ -> android-4.2.1_r1__
* [new tag] android-4.2.2_r1.1 -> android-4.2.2_r1.1
* [new tag] android-4.2.2_r1.2 -> android-4.2.2_r1.2
* [new tag] android-4.2.2_r1_ -> android-4.2.2_r1_
* [new tag] android-4.2_r1___ -> android-4.2_r1___
* [new tag] android-4.3_r0.9 -> android-4.3_r0.9
* [new tag] android-4.3_r0.9.1 -> android-4.3_r0.9.1
* [new tag] android-4.3_r0.9.1_ -> android-4.3_r0.9.1_
* [new tag] android-4.3_r0.9_ -> android-4.3_r0.9_
* [new tag] android-4.3_r1 -> android-4.3_r1
* [new tag] android-4.3_r1_ -> android-4.3_r1_
* [new tag] android-4.3_r2 -> android-4.3_r2
* [new tag] android-4.3_r2.1_ -> android-4.3_r2.1_
* [new tag] android-4.3_r2.1__ -> android-4.3_r2.1__
* [new tag] android-4.3_r2_ -> android-4.3_r2_
* [new tag] android-cts-2.2_r8 -> android-cts-2.2_r8
* [new tag] android-cts-2.3_r10 -> android-cts-2.3_r10
* [new tag] android-cts-2.3_r11 -> android-cts-2.3_r11
* [new tag] android-cts-2.3_r12 -> android-cts-2.3_r12
* [new tag] android-cts-4.0.3_r1 -> android-cts-4.0.3_r1
* [new tag] android-cts-4.0.3_r2 -> android-cts-4.0.3_r2
* [new tag] android-cts-4.0_r1 -> android-cts-4.0_r1
* [new tag] android-cts-4.1_r1 -> android-cts-4.1_r1
* [new tag] android-cts-4.1_r2 -> android-cts-4.1_r2
* [new tag] android-cts-4.2_r2 -> android-cts-4.2_r2
* [new tag] android-cts-verifier-4.0.3_r1 -> android-cts-verifier-4.0.3_r1
* [new tag] android-cts-verifier-4.0_r1 -> android-cts-verifier-4.0_r1
* [new tag] android-sdk-4.0.3-tools_r1 -> android-sdk-4.0.3-tools_r1
* [new tag] android-sdk-4.0.3_r1 -> android-sdk-4.0.3_r1
* [new tag] android-sdk-adt_r16.0.1 -> android-sdk-adt_r16.0.1
* [new tag] android-sdk-adt_r20 -> android-sdk-adt_r20
* [new tag] android-sdk-support_r11 -> android-sdk-support_r11

 

 

 

 

Ubuntu 12.04 root用户登录

http://www.linuxidc.com/Linux/2012-05/60806.htm

Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo  -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。

 

然后执行: vi /etc/lightdm/lightdm.conf.

 

增加 greeter-show-manual-login=true  allow-guest=false  . 修改完的整个配置文件是

 

[SeatDefaults]

greeter-session=unity-greeter

user-session=ubuntu

greeter-show-manual-login=true #手工输入登陆系统的用户名和密码

allow-guest=false   #不允许guest登录

 

(注意上面#号后的注释不要写到文件上,否则不好使)

然后我们启动root帐号:

sudo passwd root

根据提示输入roott帐号密码。

 

重启ubuntu,登录窗口会有登录选项,这时候我们就可以通过root登录了。

 

 

 

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2012-05/60806.htm

 

 

 

下载代码指定某一个单独的版本:

 

repo init -u git://codeaurora.org/platform/manifest.git -b android-4.2.2_r1

 

则是让repo下载4.2.2的源码,也可以用-b Jelly Bean来指定android的版本,具体可以参考:http://source.android.com/source/initializing.html

 

 

断网后重试脚本

按理说在repo init  ....之后使用repo sync就可以开始下载源码了,但是在下载过程中经常会出现没网速的情况。当然,我修改了/etc/hosts文件之后就再也么有死过。在没网速提示连接不上时,可以按ctrl+z按键来暂停同步,然后再输入repo sync就可以了。但尽管这样也不太方便,比如大半夜的谁会守着电脑监督下载情况,源码貌似都要一夜才下好,汗。为此,可以参考 http://www.linuxidc.com/Linux/2013-07/87025.htm 在工作目录,我的是~/document/androidSource文件夹下新建一个download.sh脚本文件,里面的内容是:

 

    #!/bin/bash    

    echo "======start repo sync======"    

    repo sync    

    while [ $? == 1 ]; do    

    echo "======sync failed, re-sync again======"    

    sleep 3    

    repo sync    

    done

 

chomd a+x download.sh让其可以运行,然后终端输入./download.sh就可以开始下载了,用这一步代替官方文档里的repo sync

 

当连接不上终端时休息3毫秒然后再自动repo sync,这样就很完美了。

 

Git用法参考文档

http://www.linuxidc.com/Linux/2013-07/87022.htm

Git初学的学习笔记

 

http://www.linuxidc.com/Linux/2013-07/87021.htm

1分钟学会用Git管理代码

 

 

Git使用教程与基本原理 http://www.linuxidc.com/Linux/2013-05/85065.htm

 

Pro Git》中文版 PDF http://www.linuxidc.com/Linux/2013-05/85066.htm

 

 

chmod用法

chmod 777 filename直接把file或目录变成任何人可读写了。

 

 

安装双系统

参考 win7Ubuntu双系统安装过程 - Linux论坛 - 51CTO技术论坛_中国领先的IT技术社区.mht

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值