Bu sayfada, Android 360'a kod değişikliği gönderme sürecinin tamamı açıklanmaktadır. İnceleme isteğinde bulunma ve takip etme dahil açık kaynak projesi (AOSP) tıklayın.
AOSP, kullanılan projeler için web tabanlı bir kod inceleme sistemi olan Gerrit'i kullanır. Git.
Katkıda bulunan lisans sözleşmelerini imzalayın
AOSP için kod değişikliklerine katkıda bulunmadan önce Katkıda bulunan lisans sözleşmeleri ve başlıkları ve aşağıdaki sözleşmelerden birini imzalayın:
- Yalnızca sizin adınıza katkıda bulunan bireysel bir katkıda bulunan olarak "the" Bireysel Katkıda Bulunan Lisans Sözleşmesi.
- Bir şirkette çalışan bir çalışan olarak, şirketinizin şu sözleşmeyi imzaladığından emin olun: Kurumsal Katkıda Bulunan Lisans Sözleşmesi ve kendisi adına katkıda bulunmanız için size yetki verir.
Dal başlatma
Yapmak istediğiniz her kod değişikliği için aşağıdaki adımları uygulayın:
İlgili Git deposunda yeni bir dal başlatın. Dal, kopya değildir orijinal dosyaları; belirli bir kayda işaret eder, yerel şubeler oluşturmak ve bunlar arasında geçiş yapmak basit bir işlemdir. Ölçüt dalları kullanarak birbirlerindeki değişiklikleri tanımlayabilirsiniz. Aşağıdaki komutu çalıştırarak bir dal başlatın:
repo start BRANCH_NAME
Aynı anda birkaç bağımsız şubeyi başlatabilirsiniz depodur. BRANCH_NAME şubesi bulunduğunuz yerdeki yerel bir alandır çalışma alanıdır ve Gerrit'te ya da son kaynak ağacında yer almaz. Şubeler de dahil olduğunuz projeye özgüdür; bu nedenle aynı değişikliğin parçası olarak farklı projelerde yer alan dosyalarınız varsa bir dal her projede dosyaları değiştireceğinizi belirlemelisiniz.
(isteğe bağlı) Dalın oluşturulduğunu doğrulayın:
repo status .
Yeni oluşturduğunuz dalı göreceksiniz. Örnek:
project frameworks/native/ branch mynewbranch
Değişikliğinizi yapma ve test etme
Değişikliğinizi yapmak ve test etmek için aşağıdaki adımları izleyin:
En güncel kod tabanıyla çalıştığınızdan emin olmak için baştan sona uygulayın:
repo sync
Senkronizasyon sırasında herhangi bir çakışma yaşarsanız Senkronizasyon çakışmalarını giderin.
Değiştirmek istediğiniz kodu bulun. Kodu bulmak için şunu kullanabilirsiniz: Android Kod Arama Aracı. Android'i kullanabilirsiniz AOSP kaynak kodunu gerçekten kullanırken oluşturulan haliyle görüntülemek için Google Code Search somut olarak ortaya koyar. Daha fazla bilgi için bkz. Code Search'ü kullanmaya başlama. Android kod araması içinde
main
dalındaki kodun tamamını görüntülemek için şuraya githttps://cs.android.com/android/platform/superproject/main
Kaynak dosyaları değiştirin veya ekleyin. Yapılan değişikliklerde:
- Şu konudaki en iyi uygulamaları takip edin: Lisans başlıklarını ekleyin.
Java kodu için Katkıda bulunanlar için AOSP Java kod stili.
AOSP'nin bazı bölümleri Kotlin dilinde (
.kt
) yazılır ve Kotlin'i şurada kullanabilirsiniz: daha önce Kotlin dilinde yazılmış olan metin alanlarını takip edin. Okuyucu Gelirleri Yöneticisi'ni Kotlin hakkında daha fazla bilgi edinmek için Android geliştiricisine Kotlin stil kılavuzu ve Kotlin-Java birlikte çalışabilirlik kılavuzu. Daha kapsamlı Kotlin rehberliği için Kotlin dili sitesi.API yazarken Android API Yönergeleri'ne uyun. Android'in API kararlarının arkasındaki bağlamı görmek için bu yönergeleri kullanın. Platform API'lerine yapılan eklemeler ve değişiklikler Metalav.
Aşama ve değişikliğinizi uygulayın
Taahhüt, Git'teki revizyon kontrolünün temel birimidir ve tüm proje için dizin yapısının ve dosya içeriğinin anlık görüntüsü. Değişikliğinizi uygulamak için şu adımları izleyin:
Varsayılan olarak, Git yaptığınız değişiklikleri kaydeder ancak izlemez. Alıcı: Git'e değişikliklerinizi izleme talimatı verin, değişikliklerinizi dahil edilir. Değişikliği gerçekleştirmek için şu komutu çalıştırın:
git add -A
Bu komut, dosyalarda yaptığınız değişiklikleri izler.
Dosyaları hazırlık alanına alın ve yerel veritabanı:
git commit -s
Varsayılan olarak bir metin düzenleyici açılır ve sizden bir kaydetme mesajı verir.
Aşağıdaki biçimde bir kayıt mesajı sağlayın:
1. satır: Başlık. Değişikliğin tek satırlık bir özetini sağlayın (50 karakter) maksimum). Değiştirdiğiniz alanı açıklamak için ön eklerden yararlanabilir, ardından bu taahhütte yaptığınız değişikliğin bir açıklamasıyla. Örneğin: kullanıcı arayüzü değişikliği içeren örnek:
ui: Removes deprecated widget
2. Satır: Boş satır. Başlığın ardından boş bir satır geçin.
3. Satır: Gövde. 72 karakteri aşmayan uzun bir açıklama girin. daha fazla bilgi edineceksiniz. Değişimin hangi sorunları nasıl çözdüğünü açıklayın. Gövde metni isteğe bağlı olarak, değişiklikten etkilenen diğer kişilerin de yararınadır. Varsayımların kısa bir notunu veya konuyla ilgili arka plan bilgilerini eklemeyi unutmayın Bu, katkıda bulunan başka bir kullanıcı özellik üzerinde çalışıyorsa önemli olabilir.
İyi taahhüt açıklamalarıyla ilgili bir blog okumak için (örneklerle birlikte) How to Write a Git Commit Message.
Kaydı kaydedin.
Önceden belirlenmiş benzersiz bir değişiklik kimliği, adınız ve e-postanız
repo init
sırasında sağlanan, taahhüt mesajınıza otomatik olarak eklenir.
Değişikliği incelenmek üzere yükleyin
Kişisel Git geçmişinize yaptığınız değişikliği Gerrit'e yükleyin:
Tüm dosyalarınızda yaptığınız kaydetmeleri yüklemek için projeler:
repo upload
Tüm projelerdeki tüm değişiklikler yüklemeye dahil edilir.
Kanca komut dosyalarını çalıştırmanız istenir.
a ve ardından Enter tuşuna basın.
Yüklemeyi onaylamanız istenir:
Upload project frameworks/native/ to remote branch main: branch BRANCH_NAME ( 1 commit, Wed Aug 7 09:32:33 2019 -0700): ff46b36d android codelab change to https://android-review.googlesource.com/ (y/N)?
Yüklemeyi onaylamak için y ve ardından Enter tuşuna basın.
remote: SUCCESS
gibi bir mesaj alacaksınız.
İnceleme isteğinde bulunun
Başarılı bir yüklemenin ardından Repo, yaptığınız değişikliklerin bağlantısını size Gerrit. Değişikliklerinizi inceleme sunucusunda görüntülemek, yorum eklemek, veya değişiklikleriniz için belirli incelemeciler isteyebilirsiniz. Kodda yapılan tüm değişiklikler uygun kod sahipleri tarafından incelenir. İnceleme talep etmek için:
Gerrit'te SUGGEST OWNERS'ı (SAHİPLERİ ÖNER) tıklayın:
Şekil 1. Gerrit'te sahiplere bağlantı öner.
Yorumcu iletişim kutusu görünür. Bu iletişim kutusunda, aşağıdaki koşulları karşılayan kod sahiplerinin listesi yer alır: değişikliğinizi inceleyebilir.
İncelemenize eklemek istediğiniz kod sahibini tıklayın.
GÖNDER düğmesi etkin hale gelir.
(İsteğe bağlı) İncelemesini istediğiniz diğer kişilerin e-posta adreslerini unutmayın.
(İsteğe bağlı) Değişikliği otomatik olarak göndermek için Otomatik gönderme seçeneğinin yanındaki +1'i tıklayın. onay almanız gerekir. Bu düğmeyi tıklamazsanız bir Google çalışanı sizin için değişikliğinizi göndermesi gerekir.
Değişikliği incelemeye göndermek için GÖNDER'i tıklayın.
Kod sahipleri kod değişikliklerinizi inceler ve size veya onaylamalısınız.
Değişimin durumunu belirleme
Değişikliğinizdeki dosyaların durumunu belirlemek için şunları kontrol edin: şu simgeleri değişiklikteki dosyaların yanında gösterir:
- (onay işareti) simge): Kod sahibi tarafından onaylandı
- (çapraz simge): Kod sahibi tarafından onaylanmadı
- (saat) simgesi): Kod sahibinin onayı bekleniyor
Aşağıdaki şekilde, bir değişiklikteki dosyalara uygulanan bu durum simgeleri gösterilmektedir:
Şekil 2. Kod sahibinin onayını gösteren simgeler içeren dosya örneği.
Geri bildirimi çözme ve değişim amaçlı değişikliği yükleme
Bir incelemeci, güncellemenizde değişiklik isterse Git içinde kaydınızı değiştirebilir. Bu durumda, aynı unutmayın.
Geri bildirimleri çözüme kavuşturmak ve değişikliğinizi düzeltmek için:
Değişikliğinizi yapma ve test etme bölümündeki 2-4 arası adımları uygulayın.
Yaptığınız değişikliği değiştirmek için aşağıdaki komutları çalıştırın:
git add -A git commit --amend
Değiştirilen değişikliği yüklediğinizde, değişiklik Gerrit'te her iki orijinalin de yerini alır ve yerel Git geçmişinizden.
Senkronizasyon çakışmalarını giderme
Kaynak ağacına, Google’ın hedef yönetim sistemiyle çakışan çakışmalarınızın olduğunu belirten bir mesaj alırsınız. Çakışmaları çözmek için:
En güncel kodla çalıştığınızdan emin olun:
repo sync .
repo sync
komutu, kaynak sunucudan güncellemeleri alır, ardından ,HEAD
cihazınızı yeniHEAD
uzaktan kumandasına otomatik olarak yeniden temel almaya çalışır.Otomatik yeniden temel oluşturma başarısız olursa manuel yeniden temel alma işlemi gerçekleştirin:
repo rebase .
Birleştirme çakışmalarını çözün. Sorunu çözmek için tercih ettiğiniz bir yönteminiz yoksa çakışmaları önlemek için
git mergetool
kullanın kullanabilirsiniz.Çakışan dosyaları başarıyla düzelttiğinizde aşağıdaki komutu çalıştırarak yeni kayıtları uygula:
git rebase --continue
Değişikliği gönder
Gönderilen bir içerik, inceleme ve doğrulama sürecinden geçtikten sonra
bir Google inceleme uzmanı kodu sizin yerinize göndermelidir. Diğer
Kullanıcılar, güncellemeyi kendi yerel uygulamalarına almak için repo sync
çalıştırabilirler
kullanabilirsiniz.
Gönderiminiz birleştirildikten sonra Android Sürekli Entegrasyonu kontrol panelini kullanabilirsiniz.