Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 如何基於android4.4.2的源碼和android-4.3.1_r1的驅動編譯I9250的ROM

如何基於android4.4.2的源碼和android-4.3.1_r1的驅動編譯I9250的ROM

編輯:關於Android編程

 
說明:經過多番折騰,終於把自己編譯的Android4.4.2的源代碼成功地跑在我的三星Galaxy Nexus I9250手機上了。期間離不開一位外國朋友的幫助,也就是參考資料[1]的作者Sato Kensuke. 這裡將過程記錄下來,希望對大家有所幫助!
第一步:下載android-4.4.2_r2的源碼 參見我前面的文章<基於Ubuntu 14.04 LTS編譯Android4.4.2源代碼>,地址:http://blog.csdn.net/gobitan/article/details/24367439
第二步:下載android-4.3.1_r1的device部分源碼 由於我之前已經全部下載了android-4.3.1_r1的源碼並編譯成功運行到我的i9250手機上,具體參考我前面的文章<編譯android-4.3.1_r源碼並刷到自己的Galaxy Nexus I9250真機上>,地址:http://blog.csdn.net/gobitan/article/details/24792589。因此我是直接拷貝過去的。只下載指定目錄源代碼的方法是我估計的,未經測試: 按照正常下載源代碼的步驟,在執行repo sync之前,修改.repo/manifest.xml文件,將裡面不需要的目錄全部注釋掉,這樣同步的時候應該就只需要同步自己需要的目錄了,全部下載源代碼耗時耗空間。
第三步:替換及修改device部分源代碼 1. 備份android-4.4.2_r2的device目錄; 2. 用android-4.3.1_r1的device目錄完全替換android-4.4.2_r2的device目錄; 3. 修改諸多文件以使4.3的設備代碼適配4.4的源代碼;
第四步:下載i9250的官方驅動 此步驟與我的<編譯android-4.3.1_r源碼並刷到自己的Galaxy Nexus I9250真機上>一文中的第三步完全一樣,這裡不詳述. 參見地址:http://blog.csdn.net/gobitan/article/details/24792589
第五步:增加ducati-m3.bin驅動 注:如果缺少這一步,會導致相機無法使用。 (1) 下載img 進入https://developers.google.com/android/nexus/images#takju,然後選擇4.3 (JWR66Y)的link下載。然後解壓,找到裡面的system.img文件,然後從該文件中提取出ducati-m3.bin。 (2) 將其push到/vendor/firmware,參見如下:
dennis@dubuntu1404:~$ adb root
restarting adbd as root
dennis@dubuntu1404:~$ adb remount
remount succeeded
dennis@dubuntu1404:~$ adb push ducati-m3.bin /vendor/firmware
3772 KB/s (4515868 bytes in 1.168s)
dennis@dubuntu1404:~$ 
第六步:將編譯好的img刷到i9250手機上 (1) 修改~/.bashrc中的環境變量ANDROID_PRODUCT_OUT為:
export ANDROID_PRODUCT_OUT=/home/dennis/devenv/aosp/out/target/product/maguro
(2) 重新進入命令行,然後開始刷機
dennis@dubuntu1404:~$ adb devices
List of devices attached
0146A0D00600900B        device
dennis@dubuntu1404:~$ adb reboot bootloader
dennis@dubuntu1404:~$ fastboot flashall -w
< waiting for device >
--------------------------------------------
Bootloader Version...: PRIMEMD04
Baseband Version.....: I9250XXLJ1
Serial Number........: 0146A0D00600900B
--------------------------------------------
checking product...
OKAY [  0.007s]
sending 'boot' (4472 KB)...
OKAY [  0.587s]
writing 'boot'...
OKAY [  0.681s]
sending 'recovery' (5020 KB)...
OKAY [  0.659s]
writing 'recovery'...
OKAY [  0.798s]
erasing 'system'...
OKAY [  0.015s]
sending 'system' (264925 KB)...
OKAY [ 34.379s]
writing 'system'...
OKAY [ 30.739s]
erasing 'userdata'...
OKAY [  0.418s]
formatting 'userdata' partition...
Creating filesystem with parameters:
    Size: 14539534336
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8144
    Inode size: 256
    Journal blocks: 32768
    Label: 
    Blocks: 3549691
    Block groups: 109
    Reserved block group size: 871
Created filesystem with 11/887696 inodes and 97200/3549691 blocks
sending 'userdata' (137559 KB)...
writing 'userdata'...
OKAY [ 28.220s]
erasing 'cache'...
OKAY [  0.016s]
formatting 'cache' partition...
Creating filesystem with parameters:
    Size: 452984832
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 6912
    Inode size: 256
    Journal blocks: 1728
    Label: 
    Blocks: 110592
    Block groups: 4
    Reserved block group size: 31
Created filesystem with 11/27648 inodes and 3566/110592 blocks
sending 'cache' (8832 KB)...
writing 'cache'...
OKAY [  2.970s]
rebooting...
finished. total time: 99.523s
dennis@dubuntu1404:~$
刷好之後,系統會自動重啟,如果沒什麼其他問題,你可以看到你的勞動成果了!
最後更新日期:2014-5-4 創建
轉載請注明出處:作者:雨水,地址:http://blog.csdn.net/gobitan/article/details/25003141
參考資料: 1. https://github.com/kensuke/How-to-Midracast-on-AOSP
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved