[DEV] Hướng Dẫn Build Rom Cm14 Android 7.0 Nougat Cho Sky A910 Opensource

[DEV] Hướng Dẫn Build Rom Cm14 Android 7.0 Nougat Cho Sky A910 Opensource

LinhPhi 26/9/16 35
  1. LinhPhi

    LinhPhi 0974.919.281

    Xin chào mọi người, Để xây dựng một cộng đồng phát triển chất lượng và hướng tới một tập thể phát triển ROM lớn mạnh ở Việt Nam. Nhiều bạn hỏi mình cách build rom cho thiết bị của họ. Vì vậy hôm nay mình sẽ viết một bài hướng dẫn build rom thật cụ thể theo kinh nghiệm của mình dễ hiểu cho tất cả mọi người. Với một mục đích rằng sau này sẽ tìm kiếm được nhiều bạn phát triển ROM ở Việt Nam hơn nữa. Chẳng điều gì thích hơn khi sử dụng chính sản phẩm và công sức của mình làm ra.

    huong-dan-build-cm14.png

    Theo tiêu đề ở đây mình sẽ hướng dẫn các bạn build rom cho Sky A910 được Team phát triển riêng. Và các thiết bị khác cũng vậy cũng thực hiện như bài viết này.

    1. YÊU CẦU
    • Thiết bị của bạn được Cm hỗ trợ hoặc một số DEV phát triển riêng.
    • Một laptop (PC) cấu hình tốt RAM 4GB Bộ nhớ 100Gb trở lên cài Ubuntu ( Nếu chưa biết cài các bạn có thể xem hướng dẫn cài ubuntu ở đây ).
    • Ổ cứng nếu có SSD thì tốt nhất. Ổ thường thì thời gian down và build rom sẽ lâu hơn
    • Yêu cầu phải có gói souce code của nhóm dev đó trên Github. Mình sẽ hướng dẫn từng bước bên dưới
    2. THIẾT LẬP MỘT SỐ THỨ CẦN THIẾT ĐỂ BUILD ROM

    Bước 1 : Cài đặt JDK và một số thư viên cần thiết
    Mở termial Ubuntu ( Ctrl+Alt+T ) copy các lệnh dưới và dán vào Terminal sau đó Enter

    Mã:
    sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip maven yasm optipng openjdk-8-jdk
    
    Bước 2: Cài đặt tài khoản git
    Mã:
    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"
    
    Thay "Your Name" và mail của bạn

    Các bước cơ bản ban đầu

    • Make required directories
    • Obtain repo binary
    • Add repo binary to your path
    • Give repo binary proper permissions
    • Initialize empty repo
    • Sync repo
    Sao chép và dán:

    Bước 3: Make directory for repo binary
    Mã:
    mkdir ~/bin
    
    Bước 4: Add directory for repo binary to your path
    Mã:
    PATH=~/bin:$PATH
    
    Bước 5: Download repo binary and place it in the proper directory
    Mã:
    curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    

    Bước 6: Give the repo binary the proper permissions
    Mã:
    chmod a+x ~/bin/repo
    
    Mình hướng dẫn build rom từ nhóm dev AOKP, AICP, RR hay AOSPA và các nhóm khác cũng tương tự.

    Bước 7: Tạo thư mục để down source code và build rom
    Mã:
    mkdir ~/cm14
    
    Bước 8: Di chuyển vào thư mục
    Mã:
    cd ~/cm14
    
    Bước 9: Initialize the CM 14.1 repo and download the manifest
    Mã:
    repo init -u git://github.com/CyanogenMod/android.git -b cm-14.1
    
    Bước 10: Đồng bộ source code của CyanogenMod
    Mã:
    repo sync
    
    Ngồi và chờ đợi một thời gian lâu đấy. Gần 50GB mã nguồn. Sau khi repo xong ta sẽ thấy như này:

    Screenshot from 2016-09-26 02:17:16.png

    màn hình repo xong

    3. BUILD ROM CHO SKY A910

    Sky A910 là một trong các thiết bị được cộng đồng hỗ trợ nhiều rom nhất cũng là nơi sản sinh ra rất nhiều lùm xùm vì chuyện các dev ganh tị lấy của nhau này nọ {cheers} sản sinh ra các team đấu đá nhau. {haha}Kể ra như vậy rất mất sự đoàn kết gĩua các ae làm rom chân chính ở Việt nam trong khi trên thế gioi mọi thứ người ta đều chia sẻ. Vì căn bản để làm 1 bản rom build từ mã nguồn hoạt động tốt chúng ta cần phải có rất nhiều kinh nghiệm.{byebye} Vậy kinh nghiệm lấy ở đâu khi cả một hệ điều hành Android to lớn. Kinh nghiệm học tập ở đây không đâu khác là github, gitlab hay một số cộng đồng mã nguồn mở khác. ;);) Nếu chưa biết về github và cách sử dụng github các bạn xem ở đây {capture}

    [​IMG]

    github một cộng đồng không thể thiếu cho dev
    Vì vậy! Hôm nay, Ngay tại đây. Chúng ta sẽ chứng kiếm một khởi đầu mới của thế gioi công nghệ trên toàn cầu ( Nghe quen quen ! chém gio một tí thôi ) {haha}, Về vấn đề source code sky a910 mình cũng xin trình bày như này. Từ Cm13 hay BlurOS tới CM14 hiện tại cuả Sky A910 mọi thứ do mình tìm hiểu chắp vá rất nhiều từ trên github để xây dựng. Vì vấn đề riêng tư giua các team cũng gọi là cạnh tranh với nhau nên mình không có ý định mở mã nguồn. HelloBrown-1Tuy nhiên hôm nay được nói chuyện với anh @châu Trường Thịnh là một trong những trụ cột chính của nhóm Tekcafe trước đây. Hai anh em cũng nhiệt tình chia sẻ lẫn nhau bới CM14 của mình thì đang lỗi Camera còn của anh ấy thì lỗi Wifi vậy là 2 ae cùng chia sẻ kinh nghiệm cho nhau hướng tới một mục đích chung là tạo ra 1 bản rom chất lượng cho cộng đồngHelloBrown-7. Và sau đó mình có xin phép thống nhất Opensource thiết bị này. Kể cả sau này nữa mình cũng hướng tới một cộng đồng chia sẻ và chia sẻ. Tiện thể ở đây mình nói luôn cho các bạn build rom nền tảng Android Nougat 7.0 cho Sky A910 xin vui lòng ghi credits những ng đã bỏ công sức để xây dựng mã nguồn A910 như sau ( Tôn trọng người phát triển là điều cần thiết ):HelloBrown-14

    • chautruongthinh
    • hoalamha
    • sunghun
    • disszell2008
    • linhphi9x94
    Tiếp tục quay trở lại công việc chính:

    Sau khi repo xong trên mục 2 mở thư mục CM14 và ấn Ctrl + H để hiện thư mục .repo ẩn
    Các bạn tạo file theo đường dẫn :
    Mã:
    .repo/local_manifests/roomservice.xml
    
    Với nội dung sau:
    Mã:
    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>
      <project name="BlurOS/android_kernel_pantech_msm8x74" path="kernel/pantech/msm8x74" remote="github" />
      <project name="BlurOS/android_device_pantech_ef63l" path="device/pantech/ef63l" remote="github" />
      <project name="BlurOS/android_vendor_pantech_ef63l" path="vendor/pantech/ef63l" remote="github" />
      <project name="TheMuppets/proprietary_vendor_qcom_binaries" path="vendor/qcom/binaries" remote="github" />
      <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
    </manifest>
    
    Tiếp theo các bạn quay lại Terminal gõ lệnh

    Mã:
    repo sync
    Để tải mã nguồn Sky A910 đã được nâng cấp lên Android Nougat 7.0

    Tiếp theo sau khi repo xong các bạn gõ 2 lệnh sau để build rom :

    Mã:
    . build/envsetup.sh
    brunch ef63l
    build-cm14-a910-1.png

    Như vậy mình đã hoàn thành bài hướng dẫn build rom cụ thể cho các bạn. Sau khi build xong ta sẽ có như sau :


    Screenshot from 2016-09-26 02:14:15.png
    Screenshot from 2016-09-26 03:34:07.png


    Hiện tại XDAVN.COM Team đã hỗ trợ các bạn build rom. Cm14 cho a910 hiện tại đã tạm thời ổn định và chờ CyanogenMod 14 chính thức từ Cyanogen bản rom sẽ được build và cập nhật liên tục cho các bạn. Các bạn tải rom ở đây

    Đừng quên like và chia sẻ nếu bạn thấy hữu ích. HelloBrown-14
     

    Chào mừng bạn đến với Diễn đàn XDA Việt Nam

    Đăng ký tham gia diễn đàn ngay hôm nay để trải nghiệm đầy đủ các tính năng. Hoàn toàn miễn phí !

    Chỉnh sửa cuối: 16/11/17
    Đỗ Văn Chức and HuynhHuu like this.
    Đang tải...
  2. LinhPhi

    LinhPhi 0974.919.281

  3. LinhPhi

    LinhPhi 0974.919.281

    LinhPhi
    #3 Các bạn đang muốn build cho thiết bị nào thì comment bên dưới mình sẽ hướng dẫn cần những gì luoonn nhé
     
    dunganhroyal thích bài này.
  4. HuynhHuu

    HuynhHuu Ban Quản Trị

  5. Khanh0304

    Khanh0304 Thành Viên Dự Bị

    Khanh0304
    Hướng dẫn cho LG G Pro 2 với bác Phi :)
     
  6. trbanglang

    trbanglang Thành Viên Dự Bị

    trbanglang
    Galaxy J Docomo có hỡ trợ CM14 không ad? Nếu có thì cho mình xin 1 bài hướng dẫn và tự bắt tay build thử. Thank
     
  7. vandung9623

    vandung9623 Thành Viên Dự Bị

    vandung9623
    Ôi. Ubuntu Máy đag dùg windown chính luôn. Share cho e cho Lg g2 nha
     
  8. vankynguyen

    vankynguyen Thành Viên Chính Thức

    vankynguyen
    Share cho em 860 nha!
     
    hiepns thích bài này.
  9. hiepns

    hiepns Thành Viên Chính Thức

    hiepns
    Opensource cả A860 đi ad :(
     
  10. mrhoanghy92

    mrhoanghy92 Thành Viên Dự Bị

    mrhoanghy92
    mi4 đi bác, hướng dẫn luôn ạ thark nhiều ạ
     
  11. LinhPhi

    LinhPhi 0974.919.281

    LinhPhi
    Để mình upload code lên https://github.com/BlurOS đã nhé
     
  12. LinhPhi

    LinhPhi 0974.919.281

    LinhPhi
    oke bạn
     
  13. viluan9xx

    viluan9xx Thành Viên Chính Thức

  14. Hong_Arc

    Hong_Arc Thành Viên Dự Bị

    Hong_Arc
    Anh chỉ cho em kon zen 5 với ạ.
     
  15. LinhPhi

    LinhPhi 0974.919.281

    LinhPhi
    Hong_Arc thích bài này.
  16. kirianti94

    kirianti94 Thành Viên Dự Bị

    kirianti94
    bạn hướng dẫn mình build rom cm14 cho xiaomi redmi 3s với ạ.tks
     
  17. tuanluonghitu

    tuanluonghitu Thành Viên Dự Bị

    tuanluonghitu
    Redmi Note 3 bản mtk, mình có một thắc mắc là mỗi máy mỗi dòng chip khác nhau built rom như vậy thì có hỗ trợ được hết các dòng chip hay không ....
     
  18. Huutho

    Huutho Thành Viên Dự Bị

    Huutho
    Anh ơi, cho em xin source của a850 với!! Em cũng đang muốn tìm hiểu về build rom.
     
  19. Vũ Quảng Cư

    Vũ Quảng Cư Thành Viên Dự Bị

    Vũ Quảng Cư
    Mình dùng galaxy j , thì nội dụng phần local_manifest.xml sửa như thế nào vậy? Bạn hướng dẫn mình với Linh Phi
     
  20. Hong_Arc

    Hong_Arc Thành Viên Dự Bị

    Hong_Arc
    khác nhau ở chỗ local_manifest.xml nha bạn.
     
  21. ghostandme

    ghostandme Thành Viên Chính Thức

    ghostandme
    nếu được thì hướng dẫn a870 với ạ :)
     
  22. nguyenyhang1597

    nguyenyhang1597 Thành Viên Dự Bị

  23. sinbal

    sinbal Thành Viên Chính Thức

    sinbal
    :(:(:(bản ngày 30/9 nạp vào xong là bị lỗi google bị dừng lại kon tiếp tục dc hix hix có ai bik làm sao để fix lỗi đó đc hok :(
     
  24. sinbal

    sinbal Thành Viên Chính Thức

    sinbal
    Google play bị dừng lại
     
  25. anhtien

    anhtien Thành Viên Dự Bị

    anhtien
    A910k có dùng được rom này không add
     
  26. lamque

    lamque Thành Viên Dự Bị

    lamque
    Sky A870L có chưa a
     
  27. minhcanhdn

    minhcanhdn Thành Viên Dự Bị

    minhcanhdn
    Hướng dẫn cho Xiaomi Redmi Note 2 luôn bạn nhé. Thanks.
     
  28. dunganhroyal

    dunganhroyal Thành Viên Dự Bị

    dunganhroyal
    MÌnh dùng Z00D, bản thấp nhất của dòng zf2 ad ạ
    Hiện tại có mỗi cm 12.1 và AICP , hơi ít rom
    Ad hướng dẫn mình build rom cho Z00D nhé...
    Thanks bạn trước nha
     
  29. lHoang

    lHoang Thành Viên Chính Thức

    lHoang
    cho e xin bản A870 nha admin !
     
  30. thanh1224

    thanh1224 Thành Viên Chính Thức

  31. Lộc Trần

    Lộc Trần Thành Viên Chính Thức

    Lộc Trần
    f460 chắc ko có mã nguồn rồi hã @LinhPhi
     
  32. LinhPhi

    LinhPhi 0974.919.281

    LinhPhi
    Có mà bác. Chỉ là có người làm rồi thì thôi bác ạ. hay bác build đi bác
     
  33. ghostandme

    ghostandme Thành Viên Chính Thức

    ghostandme
    giup e vs bac oi
     
  34. zetvn

    zetvn Thành Viên Dự Bị

    zetvn
    mình muốn build cm 13 hoặc 14 cho samsung a7 2016 sm-a710fd thì cần phải làm những gì ạ? :D
     
  35. phamngocduy.1998

    phamngocduy.1998 Thành Viên Chính Thức

    phamngocduy.1998
    HELP me build cm 14.1 for lentislte :D

    Giup em nhe bac! Ubuntu em chua cai tieng viet :p

    Terminal: repo sync
    Mã:
    fatal: Couldn't find remote ref refs/heads/cm-14.1
    fatal: Couldn't find remote ref refs/heads/cm-14.1
    fatal: Couldn't find remote ref refs/heads/cm-14.1
    error: Cannot fetch cm-mirror/android_vendor_samsung_lentislte
    fatal: Couldn't find remote ref refs/heads/cm-14.1
    error: Cannot fetch 18712886438/android_kernel_samsung_apq8084
    error: Cannot fetch 18712886438/android_device_samsung_lentislte
    error: Cannot fetch sktjdgns1189/android_device_samsung_lentislte-common
    How to fix it??

    roomservice.xml:
    Mã:
    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>
      <project name="18712886438/android_kernel_samsung_apq8084" path="kernel/samsung/apq8084" remote="github" />
      <project name="18712886438/android_device_samsung_lentislte" path="device/samsung/lentislte" remote="github" />
      <project name="cm-mirror/android_vendor_samsung_lentislte" path="vendor/samsung/lentislte" remote="github" />
      <project name="sktjdgns1189/android_device_samsung_lentislte-common" path="device/samsung/lentislte-common" remote="github" />
    </manifest>
     
  36. tathanhlam66

    tathanhlam66 Thành Viên Dự Bị

    tathanhlam66
    thêm branch của bạn sau ví d
    <project name="18712886438/android_kernel_samsung_apq8084" path="kernel/samsung/apq8084" revision="cm-14.1" />