真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

CyanogenMod11.0android4.4編譯指南

從公司斷斷續(xù)續(xù)下載了3天,終于把CM-11.0 的代碼給下載下來(lái)了,分享一下下載編譯rom包的過程。

一 前置條件
1 ubuntu 13.04 系統(tǒng),同時(shí)配置好android的編譯環(huán)境
  配置方法詳見  http://source.android.com/source/initializing.html 網(wǎng)頁(yè)

2 下載源碼

 特別注意:

在博山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),博山網(wǎng)站建設(shè)費(fèi)用合理。

          由于cm-11.0的代碼巨大,下載完成 .repo隱藏文件夾下大概有10G,再一git fetch真正的
          代碼文件,大概有將近30G,然后再編譯的話,估計(jì)又得多出來(lái)20G,筆者準(zhǔn)備了一個(gè)100G的
          分區(qū),進(jìn)行這次編譯。為了以后不必要的麻煩,建議先準(zhǔn)備好足夠的硬盤空間。

 curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
 需要用 CyanogenMod 提供的 repo工具

 repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0  
 下載相應(yīng)的分支

 repo sync
 下載

3 Samsung Google Google Nexus S ("crespo") 手機(jī)一部,
我的手機(jī)中
關(guān)于手機(jī)
型號(hào):Nexus S
基帶版本: I9020XXKl1

4 刷機(jī)工具,比如完美刷機(jī)

二 重要網(wǎng)頁(yè)

1 http://wiki.cyanogenmod.org/w/Devices#vendor=;
這個(gè)網(wǎng)頁(yè)包含了cm 支持的所有機(jī)型,以及相應(yīng)的驅(qū)動(dòng)

2 http://wiki.cyanogenmod.org/w/Crespo_Info
這個(gè)網(wǎng)頁(yè)包含了 crespo 這個(gè)設(shè)備的編譯前需要的各種信息
其中 最重要的是
Device https://github.com/cyanogenmod/android_device_samsung_crespo
Kernel https://github.com/cyanogenmod/android_kernel_samsung_crespo
這兩個(gè)包都需要下載,

其中驅(qū)動(dòng)包:
下載解壓縮以后,放在 cm-11/device/samsung/crespo 其中 crespo 這個(gè)文件夾如果沒有要新建

內(nèi)核包
下載解壓縮以后,放在 cm-11/kernel/samsung/crespo 其中 crespo 這個(gè)文件夾如果沒有要新建


另外注意,還有一個(gè)硬件包也要下載
Hardware https://github.com/CyanogenMod/android_hardware_samsung
下載解壓縮以后,放在 cm-101hardware/samsung  其中samsung 這個(gè)文件夾如果沒有要新建

3 http://wiki.cyanogenmod.org/w/Build_for_crespo
這個(gè)網(wǎng)頁(yè)告訴了如何編譯 crespo cm-10.2 這個(gè)版本的代碼

三 編譯源碼
1 編譯前的準(zhǔn)備工作
cd ~/android/system/vendor/cm
./get-prebuilts

2 ./extract-files.sh

首先連接好samsung nexus S 手機(jī),然后來(lái)到 cm-10/device/samsung/crepso 這個(gè)目錄下,執(zhí)行上面的指令。

這個(gè)腳本的主要作用是將手機(jī)中的驅(qū)動(dòng)so庫(kù)pull出來(lái),然后新建 cm-10/vendor/samsung/crespo 這個(gè)目錄,然后在里面放相應(yīng)的庫(kù)文件。
我的手機(jī)在執(zhí)行這個(gè)命令的時(shí)候,一個(gè)錯(cuò)也沒有報(bào),如果缺少什么文件的話,見前面的文章,將so庫(kù)給補(bǔ)齊即可。

3 真正開始編譯
以前l(fā)unch 命令再選擇編譯哪個(gè)版本都不需要了,CyanogenMod 已經(jīng)把這些封裝成更簡(jiǎn)單的命令了

回根目錄后
export USE_CCACHE=1
據(jù)說這樣會(huì)加快編譯速度
unset  NDK_ROOT
解決android 源碼編譯本身的一個(gè)bug


. build/envsetup.sh
這個(gè)重要 執(zhí)行成功后,后面的命令才能繼續(xù)執(zhí)行
croot
brunch crespo
ok  開始編譯了


4 刷機(jī),這點(diǎn)需要注意的是可能原來(lái)默認(rèn)的 recovery 程序已經(jīng)不兼容
 最新的android 4.4的rom包了,所以需要用線刷的方式更新recovery 程序

 更新方法:
 1 先將生成的rom zip包,通過adb push上傳到手機(jī)的 /sdcard/目錄下,建議
   修改成update.zip 名字

 2  同時(shí)按下開機(jī)鍵和音量加鍵,進(jìn)入fastboot模式,這個(gè)時(shí)候usb是初始化好的
 然后運(yùn)行
 fastboot boot /CM11Disk/cm-11/out/target/product/crespo/recovery.img
 這個(gè)命令

 3  重啟進(jìn)入recovery 模式,用最新的recovery 程序進(jìn)行更新update.zip包即可。


四 編譯過程中的錯(cuò)誤解決

首先編譯的時(shí)候遇到了下面的錯(cuò)誤
make: *** No rule to make target `/CM11Disk/cm-11/out/target/product/crespo/obj/SHARED_LIBRARIES/libs3cjpeg_intermediates/export_includes', needed by `/CM11Disk/cm-11/out/target/product/crespo/obj/SHARED_LIBRARIES/camera.herring_intermediates/import_includes'.  Stop.

當(dāng)時(shí)對(duì)這個(gè)錯(cuò)誤的產(chǎn)生的原因感覺是少了 libs3cjpeg 這個(gè)庫(kù)文件

在github搜索了一下,發(fā)現(xiàn)這個(gè)下載地址
https://github.com/android-ia/platform_external_libs3cjpeg


下載添加在 external/libs3cjpeg 目錄下以后,重新編譯依然發(fā)現(xiàn)出現(xiàn)了下面的錯(cuò)誤

make: *** No rule to make target `/CM11Disk/cm-11/out/target/product/crespo/obj/lib/libs3cjpeg.so', needed by `/CM11Disk/cm-11/out/target/product/crespo/obj/SHARED_LIBRARIES/camera.herring_intermediates/LINKED/camera.herring.so'.  Stop.

沒辦法用 adb pull 從手機(jī)里面拉出來(lái)一個(gè) libs3cjpeg.so 硬放在product/crespo/obj/lib/libs3cjpeg.so 這個(gè)目錄下,但是依然會(huì)出現(xiàn)
device/samsung/crespo/libcamera/SecCamera.h:38:31: fatal error: videodev2_samsung.h: No such file or directory
compilation terminated.
In file included from device/samsung/crespo/libcamera/SecCameraHWInterface.h:22:0,
                from device/samsung/crespo/libcamera/SecCameraHWInterface.cpp:23:
device/samsung/crespo/libcamera/SecCamera.h:38:31: fatal error: videodev2_samsung.h: No such file or directory
compilation terminated.
make: *** [/CM11Disk/cm-11/out/target/product/crespo/obj/SHARED_LIBRARIES/camera.herring_intermediates/SecCamera.o] Error 1


這樣的錯(cuò)誤,這個(gè)時(shí)候開始懷疑前面的解決思路是錯(cuò)誤的,看了
device/samsung/crespo/libcamera/Android.mk 這個(gè)文件后明白了錯(cuò)誤了真正原因

LOCAL_C_INCLUDES += hardware/samsung/exynos3/s5pc110/include
LOCAL_C_INCLUDES += hardware/samsung/exynos3/s5pc110/libs3cjpeg
LOCAL_C_INCLUDES += frameworks/native/include/media/hardware

原來(lái)是hardware 少下載了一個(gè)工程,而這個(gè)工程本身沒有在主干上,repo sync 并不能把其下載

在github 上找到這個(gè)工程 下載 cm-11.0版本hardware 然后再次進(jìn)行編譯
https://github.com/CyanogenMod/android_hardware_samsung/tree/cm-11.0


本文題目:CyanogenMod11.0android4.4編譯指南
網(wǎng)頁(yè)URL:http://weahome.cn/article/iedpig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部