Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 編譯android-4.3.1_r源碼並刷到自己的Galaxy Nexus I9250真機上

編譯android-4.3.1_r源碼並刷到自己的Galaxy Nexus I9250真機上

編輯:關於Android編程

編譯android-4.3.1_r源碼並刷到自己的Galaxy Nexus I9250真機上 作者:雨水 日期:2014-04-30
編譯源代碼的目的還是為了自己修改源代碼,然後還能夠運行在相應的手機上,只有這樣才有意義. 我手上有一部三星的Galaxy Nexus I9250, 代號為maguro。但是在目前google的官方未提供針對android4.4.2版本所對應的硬件驅動,最新只提供到Android4.3,具體可以在https://developers.google.com/android/nexus/drivers這裡查看。 我在網上看有基於4.4源代碼+4.3驅動編譯成功並能運行的,但我嘗試了,很多錯誤到目前為止還沒解決,因此先嘗試了4.3的源碼+4.3的驅動。下面就是整個過程:
注:關於編譯環境設置等細節參考我的前一篇<基於Ubuntu 14.04 LTS編譯Android4.4.2源代碼>. 第一步:獲取android-4.3.1_r1的源碼
$mkdir android-4.3.1_r1
$cd android-4.3.1_r1
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.3.1_r1
$repo sync
第二步:編譯android-4.3.1_r1的源碼
dennis@dubuntu1404:~/devenv/android-4.3.1_r1$ . build/envsetup.sh
including device/asus/deb/vendorsetup.sh
including device/asus/flo/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/lge/mako/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including device/samsung_slsi/arndale/vendorsetup.sh
including device/samsung/toroplus/vendorsetup.sh
including device/samsung/toro/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
dennis@dubuntu1404:~/devenv/android-4.3.1_r1$ lunch
You're building on Linux
Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_x86-eng
     3. aosp_mips-eng
     4. vbox_x86-eng
     5. aosp_deb-userdebug
     6. aosp_flo-userdebug
     7. full_tilapia-userdebug
     8. mini_armv7a_neon-userdebug
     9. mini_mips-userdebug
     10. mini_x86-userdebug
     11. full_mako-userdebug
     12. full_maguro-userdebug
     13. full_manta-userdebug
     14. full_arndale-userdebug
     15. full_toroplus-userdebug
     16. full_toro-userdebug
     17. full_panda-userdebug
Which would you like? [aosp_arm-eng] 12
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.3.1
TARGET_PRODUCT=full_maguro
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=JLS36I
OUT_DIR=out
============================================
dennis@dubuntu1404:~/devenv/android-4.3.1_r1$ make -j4
注:如果這一步直接刷機,會出現提示flash成功,但是重啟之後出現google的logo之後就黑屏,無法啟動。原因就是因為驅動沒有加進來,必須完成第三步之後再開始刷機。
第三步:下載i9250(maguro)的官方驅動並重新編譯 (1) 下載驅動:進入https://developers.google.com/android/nexus/drivers#magurojwr66y,將Wi-Fi等6個驅動一次下載下來,然後解壓,會生成6個.sh文件。將這些文件放入源代碼的根目錄即可。 (2) 執行.sh文件提取驅動程序: 通過執行"chmod +x *.sh"為它們增加可執行權限,然後依次執行這6個sh文件,每個文件會讓你輸入"I ACCEPT"來接受協議。接受之後會將提取後的驅動放入名為vendor的目錄中。此時,vendor目錄應該位於源代碼的根目錄之下,即android-4.3.1_r1之下。 然後再次依次執行如下命令重新編譯,本次編譯時間會比較端。
$. build/envsetup.sh
$lunch 12
$make -j4
第四步 將編譯好的img刷到i9250手機上 (1) 修改~/.bashrc中的環境變量ANDROID_PRODUCT_OUT為:
export ANDROID_PRODUCT_OUT=/home/dennis/devenv/android-4.3.1_r1/out/target/product/maguro
(2) 重新進入命令行,然後開始刷機
$ adb reboot bootloader
$ fastboot flashall -w
刷好之後,系統會自動重啟,如果沒什麼其他問題,你可以看到你的勞動成果了!
作者:雨水 轉載請注明出處:http://blog.csdn.net/gobitan/article/details/24792589 參考資料: 1. http://blog.csdn.net/gobitan/article/details/24367439 基於Ubuntu 14.04 LTS編譯Android4.4.2源代碼 2. http://blog.csdn.net/zjmdp/article/details/7737802 Android 4.1 (Jelly Bean) 源碼編譯過程總結
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved