تنزيل المصدر

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

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

جارٍ بدء عميل الريبو

بعد تثبيت الريبو قاذفة ، وإعداد العميل الخاص بك للوصول إلى مستودع مصدر الروبوت:

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

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

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

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

    للتحقق من الفرع الرئيسي:

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

    للتحقق من فرع آخر من سيده، تحديد ذلك مع -b . للحصول على قائمة الفروع، انظر برموز المصدر ويبني .

    بالنسبة إلى Python 2

    بالنسبة إلى Python 3

    إذا كنت تحصل على " /usr/bin/env 'python' no such file or directory " رسالة الخطأ، استخدام أحد الحلول التالية:

    إذا كان لديك أوبونتو 20.04.2 LTS هو المثبتة حديثا (مقابل ترقية) نسخة لينكس:

    sudo ln -s /usr/bin/python3 /usr/bin/python

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

    repo init -u https://android.googlesource.com/platform/manifest -b master --partial-clone --clone-filter=blob:limit=10M
    

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

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

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

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

repo sync

لالمصاحبة سرعة تمرير -c (فرع الحالي) و -j threadcount الأعلام:

repo sync -c -j8

يتم تنزيل ملفات مصدر Android في دليل العمل الخاص بك تحت أسماء مشاريعهم.

لإخراج قمع تمرير -q (هادئة) العلم. انظر مرجع الأوامر الريبو لجميع الخيارات.

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

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

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

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

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

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

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

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

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

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>

أكثر نادرا، لينكس مشكلات في الاتصال تجربة العملاء، ويعلقوا في منتصف التنزيلات (عادة خلال الأجسام استقبال). يمكن أن يؤدي ضبط إعدادات مكدس 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 من السائقين جوجل . تضيف هذه الثنائيات إمكانية الوصول إلى إمكانات الأجهزة الإضافية باستخدام تعليمات برمجية غير مفتوحة المصدر. لبناء فرع سيد AOSP، استخدم معاينة ثنائيات بدلا من ذلك. عند بناء الفرع الرئيسي لجهاز، استخدام ثنائيات ل إطلاق مرقمة الأخير أو مع التاريخ الأحدث.

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

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

نظف

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

make clobber