日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

百度云ROM移植教程

發布時間:2024/1/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度云ROM移植教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是基于MTK平頭的??,應該高通的移植起來差不多

百度云ROM移植教程(基于MTK6577

百度云已經有了MTK6577平臺的ROM A789,基于A789,我們可以將百度云ROM移植到其他的MTK6577的機型上。類似的可移植機型還有:聯想P700i、聯想A800、聯想A660、聯想s850e、金立GN700W、金立C700、金立C610、紐曼N1、中興V889M、中興V880F等,把機型寫出來供大家參考。

根據自身的移植心得,再參考其他已有教程,總結了一下百度云ROM的移植。在本文中我們將會對市面上存在的可以刷MTK6577 平臺機器的移植進行介紹,本篇理論上適用于所有MTK6577 平臺的移植。


準備環境:

cygwin安裝,如果有linux環境,則可以直接繞過這一步:

http://bbs.gfan.com/android-3940709-1-1.html? ?


MTK刷機工具下載地址:

http://pan.baidu.com/share/link?shareid=217870&uk=3609743142? ?? ?


一、選擇合適的基礎包
1.1?選擇合適的第三方ROM?包
市面上MTK 平臺的手機眾多,這時我們需要選擇一個合適的ROM 作為基礎包(這這里簡稱Base)。
首先,本篇中我們講的是直接將MTK6577 平臺手機的官方ROM 移植成為百度的ROM。
在這里我們首先要找到自己機型的刷機包,然后進行如下操作(如果是卡刷包可以直接跳過):
1)首先要找到自己機型的線刷包和卡刷包,卡刷包的目的主要是不用去解包system.img;
2)提取卡刷包的system(或者找工具解包線刷包的system.img);
3)提取解包出來的system 文件夾和線刷包中的boot.img。
1.2 選擇合適的百度OS 刷機包
在這里一定要注意,現在百度MTK6577 暫時僅支持WVGA(800X480)分辨率,但是后續應該會支持其他分辨率的機型的!
現在,請大家到百度官方下載聯想A789 的刷機包作為移植基準包(后面簡稱sample 包)!

二、移植之前的準備工作
選擇好合適的base 包并下載完sample 包以后,我們首先要進行上面的操作得到system 文件夾和boot.img,這時再將sample 包解壓到任意文件夾。
1.明確移植操作的方向
在這里,我們首先一定要明確移植的方向是:
以百度的sample 包作為最終成型刷機包的基礎,把base 包中各機型特有的東西加上去,最終形成自己的刷機包。
2.學習使用BeyondCompare

使用 BeyondCompare 進行對比操作,篇幅所限,本文中不再教給大家,但是在互聯網中關于這個工具的教程有很多,大家可以自學下。

三、移植過程中所需要的操作
1.
移植百度的應用層和framework?框架層- W8 t3 z; k??[/ B0 @
此處將如下圖三個文件夾必須使用百度 sample? 包的,否則會產生各種 bug
9??2013-1-18 11:38 上傳
下載附件?(85.76 KB)?




2.移植lib 層
system 下的lib 文件夾主要是Android 系統的動態鏈接庫,這里面有一些是系統硬件相關的接口,以及
一些系統層應用需要調用的庫文件,還有廠商的HAL 層的庫文件,百度同樣在此處進行了修改。

所以在移植這里的時候一定要謹慎,不能隨便刪減添加東西,但是其中的 modules? 必須使用官方 base? 包的,下面給出使用的基本列表,在列表以外的盡量保持百度 sample? 包的:
?2013-1-18 11:41 上傳
下載附件?(37.95 KB)?



需要替換為官方的文件狀態(如果沒有需要添加)
modules 文件夾必須整個使用官方base 包的
使用BeyondCompare 對比出來base 包多的.so 文件可以添加
3.移植system/bin?和system/xbin?文件夾
必須全部使用sample 包的,否則有可能出現系統權限錯誤,busybox 失效等問題
4.移植system/media?文件夾
整個文件夾必須使用百度sample的,否則可能出現開機動畫消失,鎖屏消失,無法開機等問題。
5.移植system/usr?文件夾,?
這里請將sample 包的keychars 和keylayout 兩個文件刪除,替換為base 包中的這兩個文件夾。
6.移植system/etc?文件夾
必須將sample 文件夾中firmware 文件夾刪除,替換為官方base 包中的firmware 文件夾。:

7.修改build.prop
必須使用base 包中官方的build.prop,但是必須在build.prop 任意位置加入如下幾行(對比了A789百度和聯想官方的build.prop,發現百度修改和添加了一下prop,移植時如果base的build.prop有這個屬性,替換,沒有則增加即可):
ro.baidu.build.hardware=A789(這里以A789為例,可選擇自己適配的機型)

ro.baidu.build.hardware.version=1.0

ro.baidu.build.software=yi_3.0

ro.baidu.build.version.release=2.1

ro.product.manufacturer=Baidu

persist.sys.emmc=/mnt/sdcard2

ro.config.notification_sound=Ding.mp3

ro.config.ringtone=Echo.mp3

ro.config.alarm_alert=alarm.mp3

刪除以下幾個屬性

ro.operator.optr=

ro.operator.spec=

ro.operator.seg=

注意事項:

修改build.prop,建議直接使用BeyondCompare來做,按給出的參考進行復制。


8.移植boot.img
這里無需多說,boot.img 啟動鏡像必須使用自己手機的。對比了一下百度和聯想官方的boot.img,發現百度修改了boot.img里的default.prop和init.rc來支持手機root和它自己的一些服務。

注意事項:

由于.gz文件格式的問題,要修改ramdisk里的default.prop和init.rc,必須在linux下修改

解包和打包mtk的boot.img的方法和工具見如下連接,需要安裝perl:

http://hi.baidu.com/juicewb/item/60894415329ae2fb65eabfa9

修改:boot.img-ramdisk/default.prop

ro.secure=1? ?修改為??ro.secure=0

ro.debuggable=1?修改為?ro.debuggable=1

persist.sys.usb.config=mass_storage?修改為?persist.sys.usb.config=mass_storage,adb


修改:boot.img-ramdisk/init.rc

a)? ?? ?? ?添加副卡路徑(可選):在export EXTERNAL_STORAGE /mnt/sdcard后面加上一行export SECONDARY_STORAGE/mnt/sdcard2??

注意:不一定是/mnt/sdcard2?如果加上后,文件管理器上面找不到手機上的文件,請不要添加這一項

b)? ?? ?? ?BOOTCLASSPATH改為百度的,為了防止有些jar包遺漏

c)? ?? ?? ?另外在on fs下加上

chown root root /system/bin/su

chmod 6755 /system/bin/su

d)? ?? ?? ?添加以下內容,?好像是百度的服務

service alljoyn-daemon /system/xbin/alljoyn-daemon --internal --no-switch-user --no-bt

? ? class main

? ? oneshot

service WordSegService /system/bin/WordSegService

? ?? ?? ?class main

? ?? ?? ?oneshot


service backuprestore /system/bin/backuprestore

? ? class main

socket backuprestore stream 600 system system

四、移植完成后的工作

1.壓縮打包為zip?刷機包

META-INF建議在百度的A789基礎上進行修改

修改META-INF/com/google/android/updater-script:

百度的A789在這里添加了:

assert(getprop("ro.product.device") == "A789" ||

? ?? ? getprop("ro.build.product") == "A789" ||

? ?? ? getprop("ro.product.device") == "a789" ||

? ?? ? getprop("ro.build.product") == "a789");

這個需要根據具體機型進行更改,要不然就直接刪除吧。

assert(package_extract_file("recovery.img", "/tmp/recovery.img"),

? ?? ? write_raw_image("/tmp/recovery.img", "recovery"),

? ?? ? delete("/tmp/recovery.img"));

這個是要來刷recovery的,如果沒有就刪除吧。

2.壓縮打包為zip?刷機包

完成上述操作后,你的百度OS 移植ROM 已經基本完成了,這時候,你需要將你解包sample 包出來并移植完成后的system,META-INF 文件夾以及boot.img 啟動鏡像打包回去,只需要像平時壓縮文件時一樣,將它們打包為一個zip 壓縮包。在這里一定要注意,必須使用zip 格式壓縮,同時不能用太大的壓縮碼率。


3.使用Recovery?輸入ROM?包進行測試!?
我相信進行移植操作的各位都已經很熟練刷機這個步驟,但是在這里我還是要提醒大家,做好的ROM 一定要自己刷入進行測試,刷入時一定要雙清(雙Wipe)。


4.測試過后出現Bug?的反饋機制
我相信大家只要選好base 包,并如上操作,你們的百度ROM 已經成型并可以使用了。
但是,因為每一個ROM 制作者針對不同機型所做的修改不同,有可能會出現一些Bug,如果出現了大家無法解決的Bug。

這時,可以考慮去百度云rom論壇反饋問題,請教百度云rom的大神們!!!哈哈~~~~

總結

以上是生活随笔為你收集整理的百度云ROM移植教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。