DIY: รวบรวมรอม Android จากรหัสที่มา

คู่มือ 10 ขั้นตอนที่รวดเร็วและง่ายต่อการรวบรวมรอม AOSP สำหรับอุปกรณ์ Android, จากการตั้งค่าเครื่องของคุณเพื่อการปรับแต่งรอมของคุณ

A+ A-

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

รวบรวมรอม Android

มีจำนวนมากของการกระจายที่กำหนดเอง Android ที่มีออกมีกับคนที่ได้รับความนิยมเป็น CyanogenMod, SlimROM หวาดระแวง Android, AOKP มูเหลว MIUI, Xylon, น้ำแข็งเย็นเยลลี่ ฯลฯ

สำหรับคำแนะนำในวันนี้เราจะรวบรวม CyanogenMod 10.2 ที่นิยมมากที่สุดหลังการขายรอม Android ขั้นตอนนี้เป็น 99% เหมือนกันสำหรับรอมที่กำหนดเองทั้งหมดออกมีดังนั้นคำแนะนำนี้สามารถนำมาใช้เป็นข้อมูลอ้างอิงในการรวบรวมรอมอื่น ๆ มากเกินไป

requisites ก่อน

  1. โทรศัพท์ Android ที่มีพร้อมใช้ Kernel และอุปกรณ์ที่เป็นแหล่งฝังรากอยู่แล้วและมีการกู้คืนที่กำหนดเองที่ติดตั้ง
  2. 64 บิตจำหน่าย Linux (เราต้องการที่อูบุนตู)
  3. อย่างน้อย 100GB ฟรีบนฮาร์ดดิสก์ของคุณ
  4. รู้การทำงานของคำสั่ง Linux ร์มินัล
  5. การเชื่อมต่ออินเทอร์เน็ตได้อย่างรวดเร็วพอสมควร

จุดที่ควรทราบ: 64 บิตระบบปฏิบัติการลินุกซ์เป็นต้องและมันจะต้องมีการติดตั้งพื้นเมืองไม่ได้เป็นเครื่องเสมือน

ตั้งค่าเครื่องรูปร่างของคุณ

1. การติดตั้งระบบปฏิบัติการลินุกซ์ของทางเลือกของคุณ: รุ่น 64 บิตตามคำแนะนำอย่างเป็นทางการ (คู่มือจะคิดว่าเราจะใช้ Ubuntu 13.04) เก็บพาร์ทิชันอย่างน้อย 100GB กับ 16GB Swap Partition

2. ติดตั้งรายการต่อไปนี้ของแพคเกจ: แอพพลิเคเทอร์มินโอเพนและประเภท 'sudo apt-get install 'กด Enter และจะแจ้งให้คุณใส่รหัสผ่านของคุณ

รายการแพคเกจ

git-core
gnupg
flex
bison
python
rar
original-awk
gawk
p7zip-full
gperf
libsdl1.2-dev
libesd0-dev
libwxgtk2.6-dev
squashfs-tools
build-essential
zip
curl
libncurses5-dev
zlib1g-dev
pngcrush
schedtool
libc6-dev
x11proto-core-dev
libx11-dev
libg11-mesa-dev
mingw32
tofrodos
python-markdown
libxml2-utils
g++-multilib
lib32z1-dev
ia32-libs
lib32ncurses5-dev
lib32readline-gplv2-dev
gcc-multilib
g++-multilib
xsltproc

3. ติดตั้ง Java JDK 1.6 สำหรับ Linux 64 บิต: ชื่อไฟล์ควรเป็น JDK-6U ## - ลินุกซ์ x64.bin, ## มีหมายเลขรุ่น ย้ายแพคเกจที่ดาวน์โหลดไปยังไดเรกทอรีที่บ้านของคุณ เปิดแอป Terminal และเรียกใช้การตั้งคำสั่ง:

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
sudo mkdir –p /opt/java/64/
sudo cp jdk-6u##-linux-x64.bin /opt/java/64
sudo su –
cd /opt/java/64
chmod a+x jdk-6u##-linux-x64.bin
./jdk-6u##-linux-x64.bin
exit

ตอนนี้เราจะต้องเพิ่มเส้นทาง JDK เพื่อ .bashrc

sudo gedit ~/.bashrc

เพิ่มบรรทัดเหล่านี้ในตอนจบของไฟล์ข้อความ

# Java Path
export JAVA_HOME=/opt/java/64/jdk1.6.0_##
export PATH=$PATH:$JAVA_HOME/bin

4. ติดตั้ง SDK Android: เปิดเทอร์มิ App

cd ~
mkdir android && cd android
mkdir sdk

ดาวน์โหลดโปรแกรม Android SDK จาก http://developer.android.com/sdk/index.html แยกเนื้อหาแพคเกจเพื่อ ~ / Android / SDK เราต้องเพิ่มเส้นทาง SDK Android เพื่อ .bashrc

sudo gedit ~/.bashrc

เพิ่มบรรทัดเหล่านี้ไปตอนจบของไฟล์ข้อความ:

# Android SDK Path
export PATH=$PATH:~/android/sdk
export PATH=$PATH:~/android/sdk/platform-tools
export PATH=$PATH:~/android/sdk/tools

ตอนนี้ติดตั้งเครื่องมือ Android SDK โดยการพิมพ์

android

5. ตั้งค่าบัญชีของคุณและ GitHub repo ระยะไกล: คุณสามารถข้ามขั้นตอนนี้ถ้า CyanogenMod สนับสนุนโทรศัพท์ของคุณอย่างเป็นทางการ ไปที่ github.com และทำบัญชีสำหรับตัวคุณเอง สำหรับคำแนะนำนี้ผมกำลังพิจารณาชื่อผู้ใช้ของคุณเป็น "ผู้ใช้"

เยี่ยมชม 'github.com/CyanogenMod/android' กดส้อม ประจักษ์ระยะไกลจะคดเคี้ยวและสามารถใช้ได้ใน repo ส่วนบุคคลของคุณ

ตอนนี้ไปที่ 'github.com/user/android' เปิดแฟ้ม default.xml กดแก้ไข หาบรรทัดนี้:

<project path="android" name="CyanogenMod/android" />

และแทนที่นี้กับ

<project path="android" name="user/android" />

ฉันกำลังพิจารณามาเคอร์เนลแหล่งที่มาของอุปกรณ์และผู้ขายของอุปกรณ์ libs สำหรับ Android 4.3 จะเป็นที่

github.com/user2/kernel_source
github.com/user2/device_source
github.com/user2/device-common_source
github.com/user2/vendor

ฉันสมมติว่าสาขาที่จะตั้งชื่อ 'jb4.3' คุณสามารถค้นหาชื่อที่แน่นอนใน repo ที่เกิดขึ้นจริง จากนั้นในตอนท้ายของไฟล์เพิ่มบรรทัดเหล่านี้ปรับเปลี่ยนได้ตามรหัสที่มาของอุปกรณ์ของคุณ

<project path="kernel/your_company/your_device" name="user2/kernel_source" remote="github" revision="jb4.3" />
<project path="device/your_company/your_device" name="user2/device_source" remote="github" revision="jb4.3" />
<project path="device/your_company/your_device-common" name="user2/device-common_source" remote="github" revision="jb4.3" />
<project path="vendor/your_company" name="user2/vendor" remote="github" revision="jb4.3" />

กระทำการเปลี่ยนแปลงของคุณ ประจักษ์ระยะไกลของคุณพร้อมที่จะใช้งาน

6. ติดตั้ง Repo คำสั่ง: เปิด Terminal และประเภท

cd ~
mkdir ~/bin
curl  > ~/bin/repo
chmod a+x ~/bin/repo

เราต้องเพิ่มเส้นทาง Repo เพื่อ .bashrc

sudo gedit ~/.bashrc

เพิ่มบรรทัดนี้ไปยังจุดสิ้นสุดของไฟล์ข้อความ

export PATH=$PATH:~/bin

7. การดึงข้อมูลรหัสที่มารอม: เปิด Terminal และประเภท

mkdir ~/android/cm
cd ~/android/cm

หากคุณจำเป็นต้องใช้ขั้นตอนที่ 5 แล้วพิมพ์

repo init –u git://github.com/user/android.git –b cm-10.2

หากอุปกรณ์ของคุณสนับสนุน CyanogenMod 10.2 อย่างเป็นทางการแล้วพิมพ์

repo init –u git://github.com/CyanogenMod/android.git –b cm-10.2

ตอนนี้ใช้

repo sync –j16

ไปคว้ากาแฟหรืออาหารมันจะใช้เวลานาน รหัสที่มาเป็นอย่างดีกว่า 10 กิกะไบต์ในขนาดดังนั้นมันจะใช้เวลาค่อนข้างบางเวลา

แหล่งที่มาของการดึงข้อมูล

8. การตั้งค่าอุปกรณ์เฉพาะสิ่ง: หากอุปกรณ์ของคุณสนับสนุน CyanogenMod 10.2 อย่างเป็นทางการแล้วเปิด terminal และประเภท

cd ~/android/cm
. build/envsetup.sh && breakfast <device_codename>

มันจะใช้เวลาบางแหล่งที่มาของอุปกรณ์ที่เป็นเรื่องเกี่ยวกับขนาด 3GB จากนั้นคุณจะต้องมี CM10.2 อย่างเป็นทางการติดตั้งในโทรศัพท์ของคุณเชื่อมต่อไปยังเครื่องคอมพิวเตอร์ของคุณในโหมดแก้ไขข้อบกพร่อง USB และเรียกใช้คำสั่งต่อไปนี้:

adb root
cd ~/android/cm/device/<your_company>/<your_device>/
./extract-files.sh

หากอุปกรณ์ของคุณไม่สนับสนุน CyanogenMod 10.2 อย่างเป็นทางการแล้วคุณมีอะไรที่ต้องทำในขั้นตอนนี้แหล่งที่มาที่มีอยู่แล้วรอให้คุณ

9. ดาวน์โหลดที่สร้างไว้ล่วงหน้า Stuff และการตั้งค่า toolchain: เปิด Terminal และประเภท

cd ~/android/cm/vendor/cm
sh ./get-prebuilts

ตอนนี้เราจะต้องเพิ่มเส้นทาง toolchain เพื่อ ./bashrc

cd ~/android/cm
sudo gedit ~/.bashrc

เพิ่มบรรทัดเหล่านี้ไปยังจุดสิ้นสุดของแฟ้มข้อความ

# Android Toolchain
export ARCH=arm
export CCOMPILE=$CROSS_COMPILE
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:~/android/cm/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin

10. สร้างรอมของคุณ: ดังนั้นทุกอย่างเป็นสิ่งที่ถูกต้องและพร้อมที่ มันเป็นเวลาที่จะสร้างรอม เปิด Terminal และประเภท

cd ~/android/cm
. build/envsetup.sh
brunch <device_codename>

เวลาที่จะไปหลับนอน มันจะใช้เวลา zillion ปีในการสร้างรอมบนคอมพิวเตอร์เฉลี่ย ดีที่พูดเกินจริง แต่ในเครื่องคอมพิวเตอร์ที่บ้านของฉัน (รุ่น Core i5 Gen 2 กับ 8GB RAM) ก็จะใช้เวลากว่า 3 ชั่วโมงในการสร้างจากรอยขีดข่วน หวังว่าจะมีไม่มีข้อผิดพลาดและสร้างจะเสร็จสมบูรณ์ดี คุณจะได้รับแพคเกจการส่งออกใน

~/android/cm/out/target/product/<your_device>/cm-10.2-something-UNOFFICIAL-<your_device>.zip

มันถึงเวลาที่จะติดตั้งรอมเรียบเรียงขึ้นใหม่ของคุณบนโทรศัพท์ของคุณ ดาวน์โหลดแพคเกจของ Google Apps จาก "www.goo.im/gapps" สำหรับ Android รุ่นที่เหมาะสม ใส่ทั้งแพคเกจที่ผู้ที่อยู่ในโทรศัพท์ของคุณและแฟลชพวกเขาในโหมดการกู้คืน Voila, รอมรวบรวมของคุณเองตอนนี้ทำงานอุปกรณ์ของคุณ

ดีเพื่อให้คุณได้เรียนรู้วิธีการรวบรวมรอม ดังนั้นตอนนี้คืออะไร

อัพเดทรอมที่มาของ

สามารถดึงข้อมูลการปรับปรุงใหม่รหัสที่มารหัสที่มาของคุณดาวน์โหลดในพื้นที่เปิด terminal และประเภท

cd ~/android/cm
repo sync –j16

เพื่อสร้างรอมของคุณหลังจากการปรับปรุงรหัสที่มาเปิดมินัลและประเภท

cd ~/android/cm
make installclean
find ./out/ -name ‘build.prop’ | xargsrm
find ./out/ -name ‘cm_<your_device>-target_files-eng.*.zip’ | xargsrm
. build/envsetup.sh
brunch <your_device>

เนื่องจากคุณไม่ได้สร้างใหม่จากรอยขีดข่วน แต่อาคารใหม่เป็นมันคือมันจะใช้เวลามากน้อยเพียงประมาณ 15-30 นาทีในกรณีส่วนใหญ่ คุณควรจะซิงค์แหล่งท้องถิ่นของคุณทุกสัปดาห์หรือดังนั้นเพื่อให้แหล่งที่มาของท้องถิ่นของคุณสด

ทำความสะอาดไดเรกทอรีการทำงานของคุณ

ในการทำความสะอาดไดเรกทอรีที่ทำงานของคุณอย่างสมบูรณ์ (อ่าน: กลับโฟลเดอร์ต้นทางของคุณให้หุ้น) เปิด Terminal และพิมพ์คำสั่งดังต่อไปนี้

cd ~/android/cm
make installclean
make clobber

จำไว้ว่าหลังจากที่ใช้คำสั่งเหล่านี้ข้อมูลออกทั้งหมดของคุณจะถูกลบออกเพื่อสร้างต่อไปจะใช้เวลา 3-4 ชั่วโมงอีกครั้งเป็นทุกอย่างเป็นอีกครั้งที่สร้างขึ้นจากรอยขีดข่วน ถ้าพาร์ติชันฮาร์ดดิสก์ของคุณมีขนาดเล็กบอกว่ารอบ 100GB, คุณควรทำความสะอาดไดเรกทอรีที่ทำงานของคุณเกี่ยวกับทุกๆ 4 สร้างหรืออื่น ๆ คุณจะทำงานออกจากพื้นที่ Hard Disk

เพิ่มความเร็วในการสร้างของคุณโดย CCACHE

อาคารรอมใช้เวลามากของเวลา แต่เวลาที่สามารถตัดลดลงประมาณ 30-45% โดยใช้ CCACHE CCACHE ยืนสำหรับแคชคอมไพเลอร์ก็เก็บเอาท์พุทรวบรวมจากก่อนหน้านี้สร้างเพื่อที่จะสามารถนำมาใช้อีกครั้งในภายหลังสร้าง

โปรดทราบว่า CCACHE ต้องการมากของพื้นที่บนฮาร์ดดิสก์ของคุณสำหรับแคชเนื้อหาดังนั้นจึงขอแนะนำถ้าหากพาร์ทิชันฮาร์ดดิสก์ของคุณอยู่ที่ไหนสักแห่งในบริเวณใกล้เคียงของ 200GB หรือสูงกว่า ในการตั้งค่า CCACHE เปิด Terminal และประเภทนี้:

cd ~/android/cm
export USE_CCACHE=1
export CACHE_DIR=~/.ccache
prebuilts/misc/linux-x86/ccache/ccache –M 50G

คุณสามารถเปลี่ยนการจัดสรรขนาดสูงสุดที่ 50GB CCACHE จากสิ่งที่คุณต้องการ แต่อย่างน้อยประมาณ 30GB ควรจะใช้เพื่อให้ได้ผลลัพธ์ที่ดี

ดึงข้อมูลจาก Commits รอมอื่น ๆ

คุณสามารถคุณลักษณะเชอร์รี่เลือกจากรหัสรอมแหล่งข้อมูลอื่น ๆ พูดเช่นผมต้องการที่จะรับมีกับกระทำหมายเลข "12345" จากพื้นที่เก็บข้อมูล "github.com/user/reporepo"

คุณนำทางไปยังแพคเกจในซอร์สโค้ดท้องถิ่นของคุณและทำงานเหล่านี้ในเทอร์มิ

cd ~/<path_to_reporepo_packages>
git fetch 
git cherry-pick 12345

แหล่งที่มาของการเชื่อมโยงรหัสของที่มีชื่อเสียงของ Android รอมที่กำหนดเองการกระจาย

CyanogenMod - https://github.com/CyanogenMod
SlimROM - https://github.com/SlimRoms
ParanoidAndroid - https://github.com/ParanoidAndroid
AOKP - https://github.com/AOKP
LiquidSmooth - https://github.com/liquidsmooth
Xylon รอม -
น้ำแข็งเย็นวุ้น - https://github.com/IceColdJelly

ดังนั้นมีคุณไปพวกที่เรียบง่ายตรงไปตรงมาคำแนะนำในการรวบรวมความจริงใด ๆ รอม Android AOSP อยู่ใน 10 ขั้นตอนง่ายๆ ในขณะที่คำแนะนำของฉันมุ่งเน้นไปที่ CyanogenMod คุณสามารถรวบรวมสวยมากทุกรอม AOSP ออกมีโดยเพียงแค่การปรับเปลี่ยนการเชื่อมโยงพื้นที่เก็บข้อมูล หรือคุณก็สามารถเลือกคุณสมบัติกระทำพวกเขาปรับเปลี่ยนและสร้างสิ่งที่รอมส่วนบุคคลของคุณเองอาจจะแบ่งปันรอมของคุณออนไลน์ด้วยหรือไม่

Ads

หุ้น

เมื่อเร็ว ๆ นี้

ทางเลือกที่ดีที่สุดอูบุนตูที่มองหาถ้าคุณเป็นคนรักของลินุกซ์

ขอเริ่มต้นโดยได้รับคุ้นเคยกับบางสิ่งบางอย่าง; พื้นฐาน แต่บิ...

วิธีการเพิ่มลายเซ็นใน Gmail กล่องขาเข้า - เพิ่มลายเซ็นของ Google ใน Gmail

กล่องขาเข้าโดย Google เป็นหนึ่งในสิ่งที่ดีที่สุดของ Google ...

Weekly Tech News: Nokia, Google และนินเทน

สวัสดีครับทุกคนก็ศุกร์ 3 มีนาคมและเช่นเดียวเสมอเรากลับมาพร้...

โครงการ Pi ราสเบอร์รี่สำหรับมือใหม่ - คุณสามารถทำอะไรกับราสเบอร์รี่ Pi

ราสเบอร์รี่ Pi เป็นชุดของพลังงานต่ำคอมพิวเตอร์บอร์ดเดียวที่...

VPN ที่ดีที่สุดสำหรับ Android 2017 - วิธีการใช้ VPN ใน Android

ไปเป็นวันเมื่อ VPNs เพียงสำหรับเทคโนโลยี savvies และแฮกเกอร...

ความคิดเห็น