تلتزم Google بتعزيز المساواة العرقية للمجتمعات السوداء. أنظر كيف.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

تنزيل المصدر

تقع شجرة مصدر Android في مستودع Git الذي تستضيفه Google. يشتمل مستودع Git على البيانات الوصفية لمصدر Android ، بما في ذلك التغييرات على المصدر ومتى تم إجراء التغييرات. تصف هذه الصفحة كيفية تنزيل الشجرة المصدر لسطر رمز Android معين.

للبدء بصورة مصنع لجهاز معين بدلاً من تنزيل المصدر ، راجع تحديد بنية الجهاز .

تهيئة عميل الريبو

بعد تثبيت Repo Launcher ، قم بإعداد عميلك للوصول إلى مستودع مصدر Android:

  1. قم بإنشاء دليل فارغ لاحتواء ملفات العمل الخاصة بك. إذا كنت تستخدم macOS ، فيجب أن يكون هذا على نظام ملفات حساس لحالة الأحرف. أعطه أي اسم يعجبك:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    
  2. تكوين Git باسمك الحقيقي وعنوان بريدك الإلكتروني. لاستخدام أداة مراجعة رمز Gerrit ، تحتاج إلى عنوان بريد إلكتروني متصل بحساب Google مسجل . تأكد من أن هذا العنوان مباشر حيث يمكنك تلقي الرسائل. يظهر الاسم الذي تقدمه هنا في سمات عمليات إرسال التعليمات البرمجية الخاصة بك.

    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"
    
  3. قم بتشغيل repo init للحصول على أحدث إصدار من Repo مع أحدث إصلاحات الأخطاء. يجب تحديد عنوان URL للبيان ، الذي يحدد مكان وضع المستودعات المختلفة المضمنة في مصدر Android ضمن دليل العمل الخاص بك.

    repo init -u https://android.googlesource.com/platform/manifest
    

    ملاحظة: إذا فشل repo init على macOS بسبب خطأ في الشهادة ، فقد تحتاج إلى التشغيل أولاً:

    # macOS only
    open /Applications/Python\ 3.6/Install\ Certificates.command
    

    للتحقق من فرع غير الرئيسي ، -b بـ -b . للحصول على قائمة الفروع ، راجع علامات رمز المصدر والبنيات .

    repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
    

إذا كنت تستخدم Git الإصدار 2.19 أو أعلى ، يمكنك تحديد --partial-clone عند تنفيذ repo init الذي سيستخدم إمكانية الاستنساخ الجزئي لـ Git ، والتي تقوم بتنزيل كائنات Git فقط عند الحاجة بدلاً من تنزيل كل شيء. نظرًا لأن استخدام النسخ المستنسخة جزئيًا يعني أن العديد من العمليات تحتاج إلى الاتصال بالخادم ، يوصى بذلك للمطورين الذين يستخدمون شبكة ذات زمن استجابة منخفض:

repo init -u https://android.googlesource.com/platform/manifest -b master --partial-clone

تنتهي التهيئة الناجحة برسالة توضح أن Repo تمت تهيئته في دليل العمل الخاص بك. يجب أن يحتوي دليل العميل الآن على دليل .repo حيث يتم الاحتفاظ بالملفات مثل البيان.

تنزيل شجرة مصدر Android

لتنزيل شجرة مصدر Android إلى دليل العمل الخاص بك من المستودعات كما هو محدد في البيان الافتراضي ، قم بتشغيل:

repo sync

توجد ملفات مصدر Android في دليل العمل الخاص بك تحت أسماء مشاريعهم. لتسريع عمليات المزامنة ، استخدم علامة -j threadcount . ضع في اعتبارك أيضًا إضافة -qc لإجراء عمليات مزامنة الفرع الحالية الهادئة فقط. راجع مرجع أمر الريبو لمزيد من التفاصيل.

باستخدام المصادقة

بشكل افتراضي ، يكون الوصول إلى رمز مصدر Android مجهولاً. لحماية الخوادم من الاستخدام المفرط ، يرتبط كل عنوان IP بحصة.

عند مشاركة عنوان IP مع مستخدمين آخرين (على سبيل المثال ، عند الوصول إلى مستودعات المصدر من خارج جدار حماية NAT) ، يمكن تشغيل الحصص النسبية حتى لأنماط الاستخدام المنتظم (على سبيل المثال ، إذا قام العديد من المستخدمين بمزامنة عملاء جدد من نفس عنوان IP داخل فترة قصيرة).

في هذه الحالة ، يمكنك استخدام الوصول المصادق عليه ، والذي يستخدم بعد ذلك حصة منفصلة لكل مستخدم ، بغض النظر عن عنوان IP.

الخطوة الأولى هي إنشاء كلمة مرور باستخدام منشئ كلمات المرور واتباع الإرشادات الموجودة على صفحة مولد كلمات المرور.

الخطوة الثانية هي فرض الوصول المصادق عليه باستخدام URI الظاهر https://android.googlesource.com/a/platform/manifest . لاحظ كيف تقوم البادئة /a/ directory بتشغيل المصادقة الإلزامية. يمكنك تحويل عميل موجود لاستخدام المصادقة الإلزامية باستخدام الأمر التالي:

repo init -u https://android.googlesource.com/a/platform/manifest

استكشاف مشكلات الشبكة وإصلاحها

عند التنزيل من خلف وكيل (وهو أمر شائع في بعض بيئات الشركة) ، قد تحتاج إلى تحديد الوكيل بشكل صريح يستخدمه Repo:

export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>

نادرًا ما يواجه عملاء Linux مشكلات في الاتصال ، حيث يعلقون في منتصف التنزيلات (عادةً أثناء استقبال الكائنات ). تم الإبلاغ عن أن تعديل إعدادات مكدس TCP / IP واستخدام أوامر غير متوازية يمكن أن يحسن الموقف. تحتاج إلى الوصول إلى الجذر لتعديل إعداد TCP:

sudo sysctl -w net.ipv4.tcp_window_scaling=0
repo sync -j1

باستخدام مرآة محلية

عند استخدام العديد من العملاء ، خاصة في الحالات التي يكون فيها النطاق الترددي نادرًا ، من الأفضل إنشاء نسخة متطابقة محلية لمحتوى الخادم بالكامل ، ومزامنة العملاء من هذه النسخة المتطابقة (التي لا تتطلب الوصول إلى الشبكة). التنزيل لمرآة كاملة أصغر من تنزيل عميلين ، بينما يحتوي على مزيد من المعلومات.

تفترض هذه التعليمات أن المرآة تم إنشاؤها في /usr/local/aosp/mirror . أولاً ، قم بإنشاء ومزامنة المرآة نفسها. لاحظ علامة --mirror ، التي يمكنك تحديدها فقط عند إنشاء عميل جديد:

mkdir -p /usr/local/aosp/mirror
cd /usr/local/aosp/mirror
repo init -u https://android.googlesource.com/mirror/manifest --mirror
repo sync

عندما تتم مزامنة المرآة ، يمكنك إنشاء عملاء جدد منها. لاحظ أنه من المهم تحديد مسار مطلق:

mkdir -p /usr/local/aosp/master
cd /usr/local/aosp/master
repo init -u /usr/local/aosp/mirror/platform/manifest.git
repo sync

أخيرًا ، لمزامنة العميل على الخادم ، قم بمزامنة النسخة المتطابقة مع الخادم ، ثم العميل مقابل النسخة المتطابقة:

cd /usr/local/aosp/mirror
repo sync
cd /usr/local/aosp/master
repo sync

من الممكن تخزين المرآة على خادم LAN والوصول إليها عبر NFS أو SSH أو Git. من الممكن أيضًا تخزينه على محرك أقراص قابل للإزالة وتمريره بين المستخدمين أو الأجهزة.

التحقق من علامات Git

قم بتحميل المفتاح العام التالي في قاعدة بيانات مفتاح GnuPG. يتم استخدام المفتاح لتوقيع العلامات التوضيحية التي تمثل الإصدارات.

gpg --import

انسخ المفتاح والصقه أدناه ، ثم اكتب EOF ( Ctrl-D ) لإنهاء الإدخال ومعالجة المفاتيح.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----

بعد استيراد المفاتيح ، يمكنك التحقق من أي علامة باستخدام:

git tag -v TAG_NAME

الحصول على ثنائيات الملكية

لا يمكن استخدام AOSP من رمز مصدر خالص فقط ويتطلب تشغيل مكتبات ملكية خاصة بالأجهزة ، مثل تسريع رسومات الأجهزة. راجع الأقسام أدناه للحصول على روابط التنزيل وثنائيات الجهاز للحصول على موارد إضافية.

تنزيل ثنائيات الملكية

يمكنك تنزيل ثنائيات رسمية للأجهزة المدعومة التي تشغل فروع إصدار AOSP المميزة من برامج تشغيل Google . تضيف هذه الثنائيات الوصول إلى إمكانات الأجهزة الإضافية باستخدام رمز مصدر غير مفتوح. لإنشاء الفرع الرئيسي لـ AOSP ، استخدم معاينة الثنائيات بدلاً من ذلك. عند بناء الفرع الرئيسي للجهاز ، استخدم الثنائيات لأحدث إصدار مرقّم أو بأحدث تاريخ.

استخراج الثنائيات المملوكة

تأتي كل مجموعة من الثنائيات كنص مكتشف ذاتي الاستخراج في أرشيف مضغوط. قم بإلغاء ضغط كل أرشيف ، قم بتشغيل البرنامج النصي المضمّن ذاتي الاستخراج من جذر الشجرة المصدر ، ثم أكد موافقتك على شروط اتفاقية الترخيص المرفقة. سيتم تثبيت الثنائيات وملفات makefiles المطابقة لها في vendor/ التسلسل الهرمي لشجرة المصدر.

نظف

لضمان أخذ الثنائيات المثبتة حديثًا في الاعتبار بشكل صحيح بعد استخراجها ، احذف المخرجات الحالية لأي بنية سابقة باستخدام:

make clobber