如您所知, https://android.googlesource.com/中有数百个项目的列表。 我想在Windows机器中下载它们。 根据Google的文件,
To install, initialize, and configure Repo: $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo To clone the entire platform, install repo, and run: mkdir mydroid cd mydroid repo init -u https://android.googlesource.com/platform/manifest repo sync
然而,在我的机器上,我不能在Git Bash中“repo init”,因为它说它没有python。 我有python安装,但混帐bash不承认它。 请注意,我也将python目录设置为系统path。 如果有人可以给小费,我将不胜感激。 谢谢
更新:我相信这是新版本的Git Bash for Windows的问题。 系统path不适用于Git Bash – 我可以很容易地testing系统path是否与命令提示符一起工作。 无论如何,我试了这个,而它实际上运行错误,当然。
/c/python27/python.exe ../bin/repo init -u https://android.googlesource.com/platform/manifest
错误消息是
$ /c/python27/python.exe ../bin/repo init -u https://android.googlesource.com/platform/manifest Traceback (most recent call last): File "../bin/repo", line 91, in <module> import readline ImportError: No module named readline
好。 我通过在Windows安装pyreadline来传递这个错误:
easy_install pyreadline
如果出现错误,则必须从中安装setuptools
http://pypi.python.org/pypi/setuptools#files
终于再次运行命令得到这个:
$ repo init -u https://android.googlesource.com/platform/manifest fatal: unable to start d:\mywork\dev\GoogleAndroid\working_dir\.repo\repo/main.py fatal: [Errno 8] Exec format error
只需一次点击 ,下载最新的代码为.tar.gz
文件,从这里https://android.googlesource.com/platform/frameworks/base/+archive/master.tar.gz ,可以在core
文件夹下找到android
编辑
在此选择:
http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/
只需选择版本,然后选择一个下载选项。
例如,如果你考虑这个其他程序“sympy” ,它也需要git bash和python,那么在启动git bash会话之前 ,只需要在你的PATH中添加python即可。
安装Python:
通过下载“Python 2.7 Windows安装程序”(或Python 2.6或2.5)并运行它。
将python目录添加到您的系统环境路径变量
(My Computer -> Advanced -> Environment Variables -> Path -> Edit
)。
请注意,repo脚本本身必须位于路径中,如android的“ 版本控制”页面中所述:
Repo是我们在Git之上构建的一个存储库管理工具。 在必要时,Repo统一了许多Git仓库,上传到我们的版本控制系统,并自动完成了部分Android开发工作流程。
回购并不意味着要取代Git,只是为了更容易在Android上下文中使用Git。
repo命令是一个可执行的Python脚本,可以放在路径的任何位置 。
这个答案解释了如何解决这个错误:
fatal: unable to start c:\path\.repo\repo/main.py fatal: [Errno 8] Exec format error
总结:我最终使用了Cygwin打包的python
。
详情:以下是全文。
repo
bug跟踪的提示是添加'/c/app/Python27/python '
:
REPO_MAIN = '/c/app/Python27/python ' + S_repo + '/main.py'
main
开始) wrapper_path = '/c/app/Python27/python ' + os.path.abspath(__file__)
但是我们得到错误TypeError: coercing to Unicode: need string or buffer, NoneType found
因此,我恢复了上面的这些更改并执行了下面的其他更改(在版本1.20上):
REPO_MAIN = S_repo + '\\main.py'
python
绝对路径作为me
第一个元素: me = ['C:\\app\\Python27\\python.exe', repo_main,
'--repo-dir=%s' % rel_repo_dir,
'--wrapper-version=%s' % ver_str,
'--wrapper-path=%s' % wrapper_path,
'--']
os.execv(repo_main, me)
替换 os.execv('C:\\app\\Python27\\python.exe', me)
但是我们仍然有一个错误:
$ Traceback (most recent call last): File "c:\path\.repo\repo\main.py", line 39, in <module> from subcmds.version import Version File "c:\path\.repo\repo\subcmds\__init__.py", line 36, in <module> ['%s' % name]) File "c:\path\.repo\repo\subcmds\forall.py", line 17, in <module> import fcntl ImportError: No module named fcntl
Python v2.7 fcntl
文档说fcntl
只能用于平台Unix。
我终于恢复了所有repo
脚本的变化,并安装了Cygwin,包括它的python
和git
包:它成功的魅力。
但是,由于Cygwin模拟的符号链接没有被MSysGit识别,我们必须使用Cygwin git
。而在 git
之上的图形用户界面并不完全符合Cygwin git
…
(另见我的另一篇文章 )
编辑:
Cygwin可以使用本机NTFS符号链接 (只需设置CYGWIN=winsymlinks:native
并且是Admin)。 因此可以使用MSysGit和任何基于它的其他GUI 🙂