مقالة | طريقة بناء روم سيانوجين مود 12 من المصدر | CyanogenMod12 Build
الكاتب : أحمد الردايدة. تحديث 23/6/2015
بسم الله الرحمن الرحيم
في هذا الموضوع سأشرح لكم طريقة بناء روم سيانوجين مود CyanogenMod من المصدر لأغلب أجهزة أندرويد ، يجب أن تكون على علماً كاملاً بما تفعل لكي لاتحدث معك مشاكل اثناء تنفيذ الطريقة . سأطبق هذا الشرح على جهاز Nexus5.
ملاحظات :
- كل هذه العملية على مسؤوليتك الخاصة ولا أتحمل مسؤولية أي خطأ تقوم به.
- يجب تواجد بشكل رئيسي كمبيوتر بتوزيعة أوبنتو Ubuntu.
- يجب تواجد اتصال أنترنت لديك جيد لأن حجم الملفات والأدوات تقريباً تصل إلى 15 جيجابايت.
- يجب تواجد ريكفري مخصص على جهازك الاندرويد وأن يكون البوتلودر مفتوح.
- عند تركيب الروم ستفقد ضمان جهازك.
- أي روم تقوم ببناءه لجهاز فهو مخصص لهذا الجهاز ولاتقوم بتركيبه على جهازك أخر!
الطريقة البناء بالتفصيل:
يجب تواجد وبشكل رئيسي توزيعة أوبنتو Ubuntu أو أي توزيعة مشتقة من اوبنتو ، ثم نقوم بوضع الأوامر التالية في موجه الاوامر “التيرمنال Terminal” لتثبيت الادوات والملحقات المهمة لبناء الروم.
ملاحظة: للدخول السريع للموجه الاوامر “التيرمنال Terminal” أضغط Ctrl + Alt + T
تثبيت AndroidSDK وملفات ADB و Fastboot :
sudo apt-get update && sudo apt-get install android androidsdk-uiautomatorviewer android-copyright android-src-vendor android-emulator android-tools-adb android-headers android-tools-adbd androidsdk-ddms android-tools-fastboot androidsdk-hierarchyviewer android-tools-fsutils androidsdk-traceview
تثبيت بيئة التطوير Build Environment :
sudo apt-get install git-core gnupg flex bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-6-jdk openjdk-6-jre pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev phablet-tools
هذا الامر لأجهزة الكمبيوتر بمعمارية 64 بت فقط :
sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
ضع هذه الأوامر حزمة repo ولأنشاء مجلد الكود المصدري للروم :
mkdir -p ~/bin curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo profile./~ . mkdir ~/CM12
جلب الكود المصدري Source Code لروم سيانوجين مود 12 من Github:
cd ~/CM12 repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0
تحميل وتحديث الكود المصدري “يأخذ فترة طويلة من التحميل”:
repo sync
ملاحظة: اذا ظهر لك خطأ في تحميل الكود المصدري ضع هذا الامر repo sync -j1
تم اعداد جميع المتطلبات العمل ، والأن طريقة بناء الروم CM لجهاز معين ضع هذه الاوامر بالترتيب “في الامر الثاني ضع اسم الجهاز الفني الذي تريد البناء له” وأنا سأضع أسم جهاز Nexus5 وهو hammerhead :
source build/envsetup.sh
breakfast hammerhead
ملاحظة : لمعرف أسم الجهاز الفني الخاص بك قم بتحميل تطبيق CPU-Z من المتجر جوجل بلاي ثم في قائمة System سيظهر لك الاسم الفني بجانب الأسم الجهاز ، مثال ” Nexus5 [hammerhead]”.
لتتم عملية البناء ، ضع هذا الامر لتحديد مكان تواجد الدرايفرز الخاصة بجهازك “بعد أن قمنا بتحميلها من أخر أمر”
cd /home/user/CM12/device/lge/hammerhead
اللون الأحمر: ضع أسم المستخدم في جهازك الكمبيوتر.
اللون الأخضر: وهو أسم الجهاز في مسار الدرايفرز الخاص به.
اللون الأزرق: وهو أسم الجهاز الفني الذي تريد البناء له والذي يكون داخل مجلد الداريفرز الخاص بالجهاز.
قم بتوصيل جهازك الذي يعمل بروم سيانوجين في الكمبيوتر ثم ضع هذا الأمر لسحب ملفات التعريفية الخاصة بالجهاز :
extract-files.sh/.
ملاحظة: اذا أردت أن يعمل الروم بشكل سليم على جهازك، يجب أن يعمل الجهاز بروم سيانوجين أي نسخة رسمية كانت أم غير رسمي ليعمل البناء بالشكل الصحيح!!
بعد الانتهاء ضع هذا الأوامر في الطرفية للخروج إلى مجلد CM12 لنكمل عملية البناء:
../.. cd ../.. cd cd CM12
لتسريع عملية البناء الروم في الكمبيوتر ، ضع هذا الأمر:
export USE_CCACHE=1
والان ضع هذا الأمر لبناء الروم الخاص بك ZIP:
brunch hammerhead
ملاحظة: ضع الأسم الفني الخاص بجهازك في الامر الاخير بدلاً من hammerhead.
والان تم بناء الروم بالكامل أذهب إلى هذا المسار للحصول على نسخة الروم الخاصة بك بصيغة Zip والتي ستقوم بتركيبها مباشرة من الريكفري المخصص.
/home/CM12/out/target/product/hammerhead
شرح فيديو :
المصادر :
شرج وافي شكراً،
اعتقد هذا شرح للمطورين 🙂
فيه موجود رومات جاهزة للسيانوجين مود 12 مع بعض التعديلات في موقع XDA
شرح*
الف شكر للموقع والكتاب على مهجودكم
وانشالله ساقوم بتجربة الموضوع
عاشت ايدك شرح حلو وبسيط
بس شون اضيف شغلات جديدة وتغيرات الي اريدهه؟! يعني اذا اريد اضيف ميزة جديدة او ازيل شغله متعجبني
هذه الشرح فط لطريقة بناء الروم من المصدر
اما بناء رومات والتعديل عليها تختلف وأن شاء الله ممكن أن نتطرق لها 🙂
هل يصلح هذه الطريقة ل cm11 ؟
تم تحديث الكود المصدري تقريباً من سيانوجين
لم اجد الكود المصدري الخاص بالكيت كات 🙂
رائع جدا احسنت موضوع في غاية الروعه
لكن للاسف لا اتوفر على صبيب انترنت قوي لاقوم بتحميل 15جيجابايت
ابدعت احمد
يا سلام عليك أحسنت يأبو حميد