Как скачать исходный код google для android

как вы знаете, есть список из нескольких сотен проектов в 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

в моей машине, однако, я не могу "repo init" в Git Bash, потому что он говорит, что у него нет python. У меня установлен python, но git bash не распознает его. обратите внимание, что я также установил каталог python в системный путь. если кто-нибудь может дать совет, я буду признателен. Спасибо

обновление: я считаю, что это проблема с новой версией git Bash для Windows. Системный путь не применяется к Git Bash вообще - я мог бы легко проверить, работал ли системный путь с командной строкой. Во всяком случае, я попробовал это вместо этого, и он на самом деле работал с ошибкой, конечно.

  /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

ОК. Я прошел эту ошибку, установив pyreadline в windows:

 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:myworkdevGoogleAndroidworking_dir.reporepo/main.py
fatal: [Errno 8] Exec format error

3 ответов


С одним щелчком мыши, скачать последний код как отсюда https://android.googlesource.com/platform/frameworks/base / +archive/master.tar.gz, Андроид можно найти под core папку

редактировать
Альтернатива here:
http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/

просто выберите версию, а затем Параметры загрузки в течение.


Если вы считаете, в качестве примера, это другая программа "sympy" который также нуждается в Git bash и python, это только вопрос, чтобы добавить python к вашему пути до для запуска сеанса Git bash.

установить Python из:

http://python.org/download/

загрузив" установщик Windows Python 2.7 " (или Python 2.6 или 2.5) и запустив его.
добавить python каталог к переменной path системной среды
(My Computer -> Advanced -> Environment Variables -> Path -> Edit).

обратите внимание, что сам скрипт РЕПО должен быть в пути, как указано в Control версия страницы android:

Repo-это инструмент управления репозиторием, который мы построили поверх Git. РЕПО при необходимости объединяет множество репозиториев Git, загружает их в нашу систему контроля версий и автоматизирует части разработки Android рабочий процесс.
РЕПО не предназначен для замены Git, только чтобы упростить работу с Git в контексте Android.
команда repo-это исполняемый скрипт Python, который вы можете поместить в любом месте своего пути.


этот ответ объясняет, как исправить эту ошибку:

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

резюме: я наконец-то использовал python упакованный Cygwin.
детали: Ниже приводится полная история.

на советы repo отслеживания ошибок добавить '/c/app/Python27/python ':

  • строка 136 в v1.20
    REPO_MAIN = '/c/app/Python27/python ' + S_repo + '/main.py'
  • строка 735 в v1.20 (начало функции main)
    wrapper_path = '/c/app/Python27/python ' + os.path.abspath(__file__)

но мы получаем ошибку TypeError: coercing to Unicode: need string or buffer, NoneType found

поэтому я вернул эти изменения выше и выполнил другие изменения ниже (в версии 1.20):

  • строка 136, заменена одной косой чертой на двойную обратную косую черту:
    REPO_MAIN = S_repo + '\main.py'
  • строка 766, добавил 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,
    '--']
  • строка 776, заменена os.execv(repo_main, me) by
    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...

(см. Также мой пост)

Edit:
Cygwin может использовать собственные символические ссылки NTFS (просто набор CYGWIN=winsymlinks:native и админ). Поэтому MSysGit можно использовать и любой другой GUI на его основе: -)