【发布时间】:2010-06-18 09:07:04
【问题描述】:
我以前从未使用过 git,但我想下载 android 源代码,因为我在 2.2 模拟器中遇到了崩溃,我想看看它在 android 源代码中崩溃的确切位置(所以我可以提交更好的错误报告)。
编辑一个体面的答案将包括使用 git 下载特定存储库的说明。我在 windows 上,但已经安装了 Msysgit。
【问题讨论】:
标签: android git android-2.2-froyo
我以前从未使用过 git,但我想下载 android 源代码,因为我在 2.2 模拟器中遇到了崩溃,我想看看它在 android 源代码中崩溃的确切位置(所以我可以提交更好的错误报告)。
编辑一个体面的答案将包括使用 git 下载特定存储库的说明。我在 windows 上,但已经安装了 Msysgit。
【问题讨论】:
标签: android git android-2.2-froyo
我不完全确定它是否正确,但我已经完成了以下操作(在 msysgit 中):
git clone git://android.git.kernel.org/platform/frameworks/base.git;h=refs/heads/froyo-release
编辑:我现在注意到有两个标签 - froyo 和 froyo-release。我不确定要使用哪一个,所以我正在下载它们。谁能告诉我有什么区别?
【讨论】:
好吧,正如您所发现的,Android 代码并不仅仅存储在一个 git 存储库中。相反,他们使用名为 repo 的 python 脚本来协调许多存储库。 Rabas 有指向 Google 说明的链接。
我已经使用 Cygwin 让该脚本在 Windows 下运行。请记住将“-b froyo”添加到 repo init 命令。
(我不知道标签之间的区别。repo 脚本掩盖了大部分内容;它只处理分支名称。)
【讨论】:
你查看this页面了吗?
在做repo init的时候,必须指定manifest,如果想要具体的分支,必须在manifest之后加上-b eclair,例如。
【讨论】:
froyo 分支是一个工作开发分支
如果您想要稳定版本,请获取 android-2.2.2_r1
【讨论】:
您可以使用 git 找出可用的分支:
mkdir /tmp/zug
pushd /tmp/zug
git clone https://android.googlesource.com/platform/manifest.git
cd manifest
git branch -a | sed -n '/^ r/s,.*/,,p'|sort -u|column
popd
rm -rf /tmp/zug
产生类似这样的东西:
android-1.6_r1 android-2.1_r1 android-2.2.3_r2 android-2.3.4_r0.9 froyo
android-1.6_r1.1 android-2.1_r2 android-2.2_r1 android-2.3.4_r1 gingerbread
android-1.6_r1.2 android-2.1_r2.1p android-2.2_r1.1 android-2.3.5_r1 gingerbread-release
android-1.6_r1.3 android-2.1_r2.1p2 android-2.2_r1.2 android-2.3.6_r0.9 ics-mr0
android-1.6_r1.4 android-2.1_r2.1s android-2.2_r1.3 android-2.3.6_r1 master
android-1.6_r1.5 android-2.2.1_r1 android-2.3.1_r1 android-2.3.7_r1 tradefed
android-1.6_r2 android-2.2.1_r2 android-2.3.2_r1 android-2.3_r1
android-2.0.1_r1 android-2.2.2_r1 android-2.3.3_r1 android-4.0.1_r1
android-2.0_r1 android-2.2.3_r1 android-2.3.3_r1.1 android-4.0.1_r1.2
【讨论】:
git ls-remote命令,不用克隆。