Android 코드로 작업하려면 Git(오픈소스 버전 제어 시스템)는 Repo(Google에서 만든 저장소 관리 도구로 Git 위에서 실행됨)가 모두 필요합니다. 검토하기 위해 변경사항을 업로드하는 등 진행할 수 있는 일반 작업에 관한 요약은 소스 제어 워크플로 페이지를 참고하세요.
Git
Git는 여러 저장소에 분배되는 대규모 프로젝트를 처리합니다. Android는 로컬 분기화, 커밋, 차이점 및 수정사항과 같은 로컬 작업에 Git를 사용합니다. Android 프로젝트를 설정하면서 직면하는 여러 어려움 중 하나는 취미 개발자 커뮤니티에서부터 대중 시장 소비자 기기를 제조하는 대형 OEM에 이르는 외부 커뮤니티를 지원하기 위한 가장 효과적인 방법을 결정하는 것이었습니다. Google은 Android 외의 자체적인 처리 과정을 지닌 흥미롭고 대체 가능한 구성요소를 원했습니다. 이에 따라 우선 분산형 버전 제어 시스템을 선택한 다음 Git로 범위를 좁혔습니다.
Git에 관한 자세한 내용은 이 Git 문서를 참고하세요.
Repo
Repo는 필요한 경우 Git 저장소를 통합하고 Gerrit 버전 제어 시스템에 업로드하고 Android 개발 워크플로의 일부를 자동화합니다.
Repo 런처는 체크아웃을 초기화하고 Repo의 두 번째 부분인 전체 Repo 도구를 다운로드하는 Python 스크립트를 제공합니다. 전체 Repo 도구는 Android 소스 코드 체크아웃에 포함되어 있습니다. 이 도구는 기본적으로 $SRCDIR/.repo/repo/...
에 있으며 다운로드한 Repo 런처에서 전달된 명령어를 수신합니다.
Repo는 Git를 대체하지 않으며, 단지 Android의 컨텍스트에서 Git로 쉽게 작업할 수 있도록 해 줍니다. Repo는 매니페스트 파일을 이용하여 Android 슈퍼 프로젝트에 Git 프로젝트를 집계합니다. Python 실행 스크립트인 repo
명령어는 경로 어디에나 삽입할 수 있습니다. Android 소스 파일로 작업할 때 단일 Repo 작업 디렉터리 같은 네트워크 간 작업에 Repo를 사용할 수 있습니다.
대부분의 경우 Repo 대신 Git를 사용하거나 Repo 및 Git 명령어를 결합하여 복합 명령어를 형성할 수 있습니다. 하지만 네트워크 전체에 걸친 기본 작업에 Repo를 사용하면 작업이 훨씬 간단해집니다. Repo에 관한 자세한 내용은 Repo 명령어 참조, Repo 리드미, Repo에서 사용 설정할 수 있는 Preupload Hooks(테스트), AOSP의 일반 문서를 참고하세요.
git-repo-downloads에서 Repo 런처를 다운로드하여 설치하려면 Repo 설치를 참고하세요.
Gerrit
Gerrit는 Git를 사용하는 프로젝트를 위한 웹 기반 코드 검토 시스템입니다. Gerrit는 모든 승인된 사용자가 변경사항을 제출할 수 있도록 허용하여 좀 더 중앙화된 방식의 Git 사용을 장려합니다. 이러한 변경사항은 코드 검토를 통과할 경우 자동으로 병합됩니다. 또한 Gerrit는 브라우저에서 변경사항을 나란히 표시하고 인라인 주석을 지원하여 검토를 수월하게 합니다.
android-review.googlesource.com에서 Android Gerrit 검토 인터페이스를, android.googlesource.com에서 코드 탐색 인터페이스를 확인하세요.
Android 코드 검색
Android 코드 검색을 사용하면 다운로드 없이 AOSP를 검색할 수 있습니다. 코드 검색을 사용하여 AOSP 소스 코드를 보고, 오픈소스 분기 간에 전환하고, 상호 참조를 탐색할 수 있습니다. 자세한 내용은 코드 검색 문서에 관한 Google Developers 사이트를 참고하세요.
기타 도구
Android 스튜디오는 Android 앱 개발을 위한 공식 통합 개발 환경(IDE)입니다.
Android 디버그 브리지(adb)를 사용하면 개발 워크스테이션을 Android 기기에 직접 연결할 수 있으므로 패키지를 설치하고 변경사항을 평가할 수 있습니다.
AOSP 개발을 위해서는 플랫폼용 Android 스튜디오(ASfP)를 사용하세요.
Repo 설치
Repo를 설치하려면 다음 단계를 따르세요.
- 다음 명령어를 실행하여 Linux 배포판의 공식 패키지를 사용합니다.
sudo apt-get update
sudo apt-get install repo
export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
- 다음 명령어를 실행합니다.
- 다음과 비슷한 보고서가 표시됩니다.
- 2.15 이상으로 보고되는
repo launcher version
번호는 버전 번호가 올바르고 설치가 잘 되었음을 나타냅니다. (from /usr/bin/repo)
는 패키지로부터의 설치를 나타냅니다.(from /home/<>/bin/repo)
는 수동 설치를 나타냅니다.
이러한 명령어는 임시 파일을 설정하고 여기에 저장소를 다운로드한 후 제공된 키가 필수 키와 일치하는지 확인합니다. 이와 같은 작업이 완료되면 설치가 진행됩니다.
설치 후 repo version
이 일반 디렉터리에서 실행될 때 다음과 유사한 내용을 보고하는지 확인합니다.
일반 디렉터리는 저장소 클라이언트의 일부(예: 홈 디렉터리)가 아닙니다.
repo version
<repo not installed>
repo launcher version 2.15
(from /usr/bin/repo)
설치 완료
다음: 전체 Repo 도구 설치를 완료하려면 소스 다운로드 페이지에서 Repo 클라이언트 초기화를 참고하세요.