การทำงานกับรหัส Android ต้องใช้ทั้ง Git (ระบบควบคุมเวอร์ชันโอเพนซอร์ส) และ Repo (เครื่องมือจัดการพื้นที่เก็บข้อมูลที่สร้างโดย Google ซึ่งทำงานบน Git) ดูหน้า เวิร์กโฟลว์การควบคุมแหล่งที่มา สำหรับสรุปการดำเนินการทั่วไปที่คุณสามารถทำได้ เช่น การอัปโหลดการเปลี่ยนแปลงเพื่อการตรวจสอบ
คอมไพล์
Git จัดการโครงการขนาดใหญ่ที่กระจายไปยังที่เก็บหลายแห่ง Android ใช้ Git สำหรับการดำเนินการในเครื่อง เช่น การแตกแขนงในเครื่อง คอมมิต ความแตกต่าง และการแก้ไข หนึ่งในความท้าทายในการจัดตั้งโครงการ Android คือการกำหนดวิธีการสนับสนุนชุมชนภายนอกได้ดีที่สุด ตั้งแต่ชุมชนมือสมัครเล่นไปจนถึง OEM ขนาดใหญ่ที่สร้างอุปกรณ์สำหรับผู้บริโภคในตลาดมวลชน Google ต้องการให้ส่วนประกอบต่างๆ สามารถเปลี่ยนได้ และต้องการให้ส่วนประกอบที่น่าสนใจมีชีวิตเป็นของตัวเองนอกเหนือไปจาก Android ก่อนอื่น Google เลือกระบบควบคุมการแก้ไขแบบกระจาย จากนั้นจึงจำกัดขอบเขตให้แคบลงเหลือ Git
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ Git โปรดดู เอกสาร Git นี้
ซื้อคืน
Repo รวมที่เก็บ Git เมื่อจำเป็น ทำการอัปโหลดไปยัง ระบบควบคุมการแก้ไข Gerrit และทำให้ส่วนต่างๆ ของเวิร์กโฟลว์การพัฒนา Android เป็นไปโดยอัตโนมัติ
Repo Launcher มีสคริปต์ Python ที่เริ่มต้นการชำระเงินและดาวน์โหลดส่วนที่สอง ซึ่งเป็นเครื่องมือ Repo เต็มรูปแบบ เครื่องมือ Repo เต็มรูปแบบจะรวมอยู่ในการชำระเงินซอร์สโค้ดของ Android โดยค่าเริ่มต้นจะอยู่ใน $SRCDIR/.repo/repo/...
และได้รับคำสั่งที่ส่งต่อจาก Repo Launcher ที่ดาวน์โหลดมา
Repo ไม่ได้แทนที่ Git แต่ช่วยให้ทำงานกับ Git ในบริบทของ Android ได้ง่ายขึ้น Repo ใช้ ไฟล์รายการ เพื่อรวมโปรเจ็กต์ Git ไว้ในซูเปอร์โปรเจกต์ Android คุณสามารถใส่คำสั่ง repo
ซึ่งเป็นสคริปต์ Python ที่สามารถสั่งการได้ ที่ใดก็ได้ในเส้นทางของคุณ ในการทำงานกับไฟล์ต้นฉบับของ Android คุณสามารถใช้ Repo สำหรับการทำงานข้ามเครือข่าย เช่น กับไดเร็กทอรีการทำงานของ Repo เดียว
ในสถานการณ์ส่วนใหญ่ คุณสามารถใช้ Git แทน Repo หรือผสมคำสั่ง Repo และ Git เพื่อสร้างคำสั่งที่ซับซ้อน อย่างไรก็ตาม การใช้ Repo สำหรับการทำงานพื้นฐานข้ามเครือข่ายทำให้งานของคุณง่ายขึ้นมาก สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ Repo โปรดดูการ อ้างอิงคำสั่ง Repo , Repo README , Preupload Hooks (การทดสอบ) ที่สามารถเปิดใช้งานใน Repo และ เอกสารทั่วไปใน AOSP
หากต้องการดาวน์โหลดและติดตั้ง Repo Launcher จาก การดาวน์โหลด git-repo- โปรดดูที่ การติดตั้ง Repo
เกอร์ริท
Gerrit เป็นระบบตรวจสอบโค้ดบนเว็บสำหรับโครงการที่ใช้ Git Gerrit สนับสนุนการใช้ Git แบบรวมศูนย์มากขึ้นโดยอนุญาตให้ผู้ใช้ที่ได้รับอนุญาตทั้งหมดส่งการเปลี่ยนแปลง ซึ่งจะถูกรวมโดยอัตโนมัติหากพวกเขาผ่านการตรวจสอบโค้ด นอกจากนี้ Gerrit ยังทำให้การตรวจสอบเป็นเรื่องง่าย แสดงการเปลี่ยนแปลงเคียงข้างกันในเบราว์เซอร์ และเปิดใช้ความคิดเห็นแบบอินไลน์
ค้นหาอินเทอร์เฟซการตรวจสอบ Android Gerrit ที่ android-review.googlesource.com และอินเทอร์เฟซการนำทางโค้ดที่ android.googlesource.com
ค้นหารหัส Android
Android Code Search ให้คุณค้นหา AOSP โดยไม่ต้องดาวน์โหลดอะไรเลย คุณสามารถใช้ Code Search เพื่อดูซอร์สโค้ด AOSP สลับระหว่างสาขาโอเพ่นซอร์ส และนำทางการอ้างอิงโยง สำหรับข้อมูลเพิ่มเติม โปรดดูที่ไซต์ Google Developers สำหรับ เอกสารประกอบการค้นหา Code
เครื่องมืออื่นๆ
Android Studio เป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการอย่างเป็นทางการ (IDE) สำหรับการพัฒนาแอพ Android
Android Debug Bridge (ADB) ช่วยให้คุณเชื่อมต่อเวิร์กสเตชันการพัฒนาของคุณโดยตรงกับอุปกรณ์ Android ของคุณ เพื่อให้คุณสามารถติดตั้งแพ็คเกจและประเมินการเปลี่ยนแปลงของคุณได้
สำหรับ Android 10 และสูงกว่า ให้ใช้ IntelliJ กับ AIDEgen IDE สำหรับการพัฒนาแพลตฟอร์ม Android
กำลังติดตั้ง 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-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
- เรียกใช้คำสั่งนี้:
- คาดหวังรายงานที่คล้ายกับรายงานนี้:
- หมายเลข
repo launcher version
ที่รายงานเป็น 2.15 หรือสูงกว่านั้นบ่งชี้ถึงหมายเลขเวอร์ชันที่ถูกต้องและการติดตั้งที่เหมาะสม -
(from /usr/bin/repo)
หมายถึงการติดตั้งจากแพ็คเกจ -
(from /home/<>/bin/repo)
หมายถึงการติดตั้งด้วยตนเอง
คำสั่งเหล่านี้ตั้งค่าไฟล์ temp ดาวน์โหลด repo และตรวจสอบว่าคีย์ที่ระบุตรงกับคีย์ที่ต้องการ หากสำเร็จการติดตั้งก็ดำเนินต่อไป
หลังการติดตั้ง ให้ตรวจสอบว่า repo version
รายงานสิ่งต่อไปนี้เมื่อทำงานในไดเร็กทอรีปกติ (ไดเร็กทอรีปกติไม่ได้เป็นส่วนหนึ่งของไคลเอนต์ repo ตัวอย่างเช่น เป็นโฮมไดเร็กตอรี่ของคุณ)
repo version
<repo not installed>
repo launcher version 2.15
(from /usr/bin/repo)
เสร็จสิ้นการติดตั้ง
ถัดไป: เพื่อให้การติดตั้งเครื่องมือ Repo เสร็จสมบูรณ์ ดู การเริ่มต้นไคลเอ็นต์ Repo ในหน้าการ ดาวน์โหลดแหล่งที่มา