Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เครื่องมือควบคุมแหล่งที่มา

การทำงานกับโค้ด Android ต้องใช้ Git (ระบบควบคุมเวอร์ชันโอเพนซอร์ส) และ Repo (เครื่องมือจัดการที่เก็บข้อมูลที่ Google สร้างขึ้นซึ่งทำงานบน Git) โปรดดู เวิร์กโฟลว์การควบคุมแหล่งที่มา สำหรับข้อมูลสรุปของการดำเนินการปกติเช่นการอัปโหลดการเปลี่ยนแปลงเพื่อตรวจสอบ

Git

Git ได้รับการออกแบบมาเพื่อจัดการกับโปรเจ็กต์ขนาดใหญ่ที่กระจายผ่านหลายที่เก็บ Android ใช้ Git สำหรับการดำเนินการในพื้นที่เช่นการแยกสาขาในท้องถิ่นการคอมมิตความแตกต่างและการแก้ไข ความท้าทายอย่างหนึ่งในการตั้งค่าโครงการ Android คือการหาวิธีสนับสนุนชุมชนภายนอกอย่างดีที่สุดตั้งแต่ชุมชนงานอดิเรกไปจนถึง OEM ขนาดใหญ่ที่สร้างอุปกรณ์สำหรับผู้บริโภคในตลาดจำนวนมาก เราต้องการให้ส่วนประกอบต่างๆสามารถเปลี่ยนได้และเราต้องการให้ส่วนประกอบที่น่าสนใจมีชีวิตเป็นของตัวเองนอก Android ก่อนอื่นเราเลือกระบบควบคุมการแก้ไขแบบกระจายจากนั้นจึง จำกัด ให้แคบลงเป็น Git

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ Git โปรดดูที่ เอกสาร Git

Repo

Repo รวมที่เก็บ Git เมื่อจำเป็นทำการอัปโหลดไปยัง ระบบควบคุมการแก้ไข Gerrit และดำเนินการส่วนต่างๆของเวิร์กโฟลว์การพัฒนา Android โดยอัตโนมัติ

Repo มีสองส่วน: Repo Launcher ที่ คุณ ดาวน์โหลดและติดตั้ง จาก git-repo-ดาวน์โหลด เป็นสคริปต์ Python ที่รู้วิธีเริ่มต้นการชำระเงินและสามารถดาวน์โหลดส่วนที่สองซึ่งเป็นเครื่องมือ Repo แบบเต็มซึ่งรวมอยู่ในการชำระเงินด้วยซอร์สโค้ดของ Android เครื่องมือ Repo แบบเต็มโดยค่าเริ่มต้นจะอยู่ใน $SRCDIR/.repo/repo/... และรับคำสั่งที่ส่งต่อจาก Repo Launcher ที่ดาวน์โหลดมา

Repo ไม่ได้มีไว้เพื่อแทนที่ Git เพียงเพื่อให้ทำงานกับ Git ในบริบทของ Android ได้ง่ายขึ้น มันใช้ ไฟล์ manifest เพื่อรวมโปรเจ็กต์ Git ไว้ใน superproject ของ Android คำสั่ง repo คือสคริปต์ Python ที่เรียกใช้งานได้ซึ่งคุณสามารถวางไว้ที่ใดก็ได้ในเส้นทางของคุณ ในการทำงานกับซอร์สไฟล์ของ Android คุณใช้ Repo สำหรับการทำงานข้ามเครือข่ายตัวอย่างเช่นกับไดเรกทอรีการทำงาน Repo เดียว

ในสถานการณ์ส่วนใหญ่คุณสามารถใช้ Git แทน Repo หรือผสมคำสั่ง Repo และ Git เพื่อสร้างคำสั่งที่ซับซ้อนได้ อย่างไรก็ตามการใช้ Repo สำหรับการดำเนินการข้ามเครือข่ายพื้นฐานทำให้งานของคุณง่ายขึ้นมาก สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ Repo โปรดดูการ อ้างอิงคำสั่ง Repo , Repo README , Preupload Hooks (การทดสอบ) ที่สามารถเปิดใช้งานใน Repo และ เอกสารทั่วไปใน AOSP

เครื่องมืออื่น ๆ

Gerrit เป็นระบบตรวจสอบโค้ดบนเว็บสำหรับโครงการที่ใช้ Git Gerrit สนับสนุนการใช้ Git แบบรวมศูนย์มากขึ้นโดยอนุญาตให้ผู้ใช้ที่ได้รับอนุญาตทั้งหมดส่งการเปลี่ยนแปลงซึ่งจะรวมเข้าด้วยกันโดยอัตโนมัติหากผ่านการตรวจสอบโค้ด นอกจากนี้ Gerrit ยังทำให้การตรวจสอบเป็นเรื่องง่ายแสดงการเปลี่ยนแปลงเคียงข้างกันในเบราว์เซอร์และเปิดใช้งานความคิดเห็นแบบอินไลน์

Android Code Search ช่วยให้คุณค้นหา AOSP โดยไม่ต้องดาวน์โหลดอะไรเลย คุณสามารถใช้ Code Search เพื่อดูซอร์สโค้ด AOSP สลับไปมาระหว่างสาขาโอเพนซอร์สและนำทางการอ้างอิงโยง สำหรับข้อมูลเพิ่มเติมโปรดดูที่ไซต์ Google Developers สำหรับ เอกสารประกอบการค้นหาโค้ด

Android Studio เป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) อย่างเป็นทางการสำหรับการพัฒนาแอป Android

การติดตั้ง Repo

Repo เป็นเครื่องมือที่ช่วยให้ทำงานกับ Git ในบริบทของ Android ได้ง่ายขึ้น ดู ภาพรวม Repo ด้านบนสำหรับวัตถุประสงค์และลิงก์ไปยังเอกสารที่เกี่ยวข้อง

Repo มีสองส่วน: ส่วนหนึ่งเป็นสคริปต์ตัวเรียกใช้งานที่คุณติดตั้งและจะสื่อสารกับส่วนที่สองซึ่งเป็นเครื่องมือ Repo แบบเต็มที่รวมอยู่ในการชำระเงินด้วยซอร์สโค้ด ในการติดตั้ง Repo:

  1. ตรวจสอบให้แน่ใจว่าคุณมี bin/ ไดเร็กทอรีในโฮมไดเร็กทอรีของคุณและรวมอยู่ในพา ธ ของคุณ:

    mkdir ~/bin
    PATH=~/bin:$PATH
    
  2. ดาวน์โหลด Repo Launcher และตรวจสอบให้แน่ใจว่าสามารถใช้งานได้:

    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo
    
  3. เลือกที่จะตรวจสอบตัวเรียกใช้งานที่ตรงกับลายเซ็นของเรา:

    gpg --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ~/bin/repo
    

repo ที่เก่ากว่าสำหรับระบบ Python 2 แบบเดิม

หากคุณใช้ระบบเก่าที่ไม่มี Python 3.6+ ให้ลองดาวน์โหลด Repo Launcher เวอร์ชันเก่าที่ยังรองรับ Python 2.7 การดำเนินการนี้จะไม่ทำงานอย่างไม่มีกำหนด แต่อาจช่วยได้จนกว่าระบบของคุณจะได้รับการอัปเกรด

curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
chmod a+x ~/bin/repo