How to download google source code for android

大城市里の小女人 提交于 2019-12-03 03:26:12
Mohammad Ersan

With one click, download the latest code as .tar.gz file, from here https://android.googlesource.com/platform/frameworks/base/+archive/master.tar.gz, the android could be found under core folder

Edit
Alternative here:
http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/

Just select the version then a download options within.

If you consider, as an example, this other program "sympy" which also needs git bash and python, it is only a matter to add python to your PATH prior to launching the git bash session.

Install Python from:

http://python.org/download/

by downloading the "Python 2.7 Windows installer" (or Python 2.6 or 2.5) and running it.
Add python directory to your system environment path variable
(My Computer -> Advanced -> Environment Variables -> Path -> Edit).

Note that the repo script itself must be in the path, as mentioned in the Version Control page of android:

Repo is a repository management tool that we built on top of Git. Repo unifies the many Git repositories when necessary, does the uploads to our revision control system, and automates parts of the Android development workflow.
Repo is not meant to replace Git, only to make it easier to work with Git in the context of Android.
The repo command is an executable Python script that you can put anywhere in your path.

olibre

This answer explains how to fix this error:

fatal: unable to start c:\path\.repo\repo/main.py
fatal: [Errno 8] Exec format error

Summary: I finally used the python packaged by Cygwin.
Details: Below is the full story.

The tip from the repo bug tracking is to add '/c/app/Python27/python ':

  • line 136 in v1.20
    REPO_MAIN = '/c/app/Python27/python ' + S_repo + '/main.py'
  • line 735 in v1.20 (beginning of function main)
    wrapper_path = '/c/app/Python27/python ' + os.path.abspath(__file__)

But we get the error TypeError: coercing to Unicode: need string or buffer, NoneType found

Therefore I reverted these changes above and performed the other changes below (on version 1.20):

  • line 136, replaced single slash by double back-slash:
    REPO_MAIN = S_repo + '\\main.py'
  • line 766, added python absolute path as first element of 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,
    '--']
  • line 776, replaced os.execv(repo_main, me) by
    os.execv('C:\\app\\Python27\\python.exe', me)

However we get still an error:

$ 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

The Python v2.7 fcntl documentation says fcntl is available for platform Unix only.

I finally reverted again all changes in repo script and installed Cygwin including its python and git packages: it succeeded as a charm.

But, as the symlinks simulated by Cygwin are not recognized by the MSysGit, we have to use the Cygwin git. And GUIs on top of git are not fully compliant with Cygwin git...

(see also my other post)

Edit:
Cygwin can use native NTFS symlinks (just set CYGWIN=winsymlinks:native and be Admin). Therefore MSysGit can be used and any other GUI based on it :-)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!