91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CyanogenMod 11.0 android 4.4 編譯指南

發布時間:2020-07-10 02:54:06 來源:網絡 閱讀:1221 作者:sunzeduo 欄目:移動開發

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

一 前置條件
1 ubuntu 13.04 系統,同時配置好android的編譯環境
  配置方法詳見  http://source.android.com/source/initializing.html 網頁

2 下載源碼

 特別注意:

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


 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  
 下載相應的分支

 repo sync
 下載

3 Samsung Google Google Nexus S ("crespo") 手機一部,
我的手機中
關于手機
型號:Nexus S
基帶版本: I9020XXKl1

4 刷機工具,比如完美刷機


二 重要網頁

1 http://wiki.cyanogenmod.org/w/Devices#vendor=;
這個網頁包含了cm 支持的所有機型,以及相應的驅動

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

其中驅動包:
下載解壓縮以后,放在 cm-11/device/samsung/crespo 其中 crespo 這個文件夾如果沒有要新建

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


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

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


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

2 ./extract-files.sh

首先連接好samsung nexus S 手機,然后來到 cm-10/device/samsung/crepso 這個目錄下,執行上面的指令。

這個腳本的主要作用是將手機中的驅動so庫pull出來,然后新建 cm-10/vendor/samsung/crespo 這個目錄,然后在里面放相應的庫文件。
我的手機在執行這個命令的時候,一個錯也沒有報,如果缺少什么文件的話,見前面的文章,將so庫給補齊即可。

3 真正開始編譯
以前lunch 命令再選擇編譯哪個版本都不需要了,CyanogenMod 已經把這些封裝成更簡單的命令了

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


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


4 刷機,這點需要注意的是可能原來默認的 recovery 程序已經不兼容
 最新的android 4.4的rom包了,所以需要用線刷的方式更新recovery 程序

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

 2  同時按下開機鍵和音量加鍵,進入fastboot模式,這個時候usb是初始化好的
 然后運行
 fastboot boot /CM11Disk/cm-11/out/target/product/crespo/recovery.img
 這個命令

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



四 編譯過程中的錯誤解決

首先編譯的時候遇到了下面的錯誤
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.

當時對這個錯誤的產生的原因感覺是少了 libs3cjpeg 這個庫文件

在github搜索了一下,發現這個下載地址
https://github.com/android-ia/platform_external_libs3cjpeg


下載添加在 external/libs3cjpeg 目錄下以后,重新編譯依然發現出現了下面的錯誤

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 從手機里面拉出來一個 libs3cjpeg.so 硬放在product/crespo/obj/lib/libs3cjpeg.so 這個目錄下,但是依然會出現
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


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

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

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

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

刚察县| 鹤峰县| 尼玛县| 周口市| 额尔古纳市| 文昌市| 广灵县| 靖江市| 方山县| 汾阳市| 江华| 丰都县| 洛隆县| 汕尾市| 樟树市| 隆化县| 申扎县| 铜陵市| 花莲县| 庆云县| 西吉县| 双城市| 万山特区| 济南市| 长阳| 辽阳市| 辽源市| 阳信县| 沐川县| 甘孜县| 迭部县| 哈巴河县| 桓台县| 滁州市| 无棣县| 肥西县| 资溪县| 舞钢市| 文成县| 山阴县| 兴城市|