Как скачать исходный код 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 из:
загрузив" установщик 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)
byos.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 на его основе: -)