因為一些原因,這段時間不再折騰rom了。於是 ,就想著把這段時間蒐集的資料整理整理,免得以後重新搞機時又走彎路。
2015.03.12:
上個月開始接觸android手機,三星13年出的旗艦機galaxy s4中國聯通雙卡定製版(型號為i9502)。由於實在無法忍受自帶的touchwiz,就想著換個rom來玩玩,結果在網上搜了一大圈大多數都是官方精簡版本,還是沒有擺脫touchwiz。想著miui,魅族,cm這些感覺有點名氣的rom會不會有該機得適配呢? 還好在miui論壇發現了該機的適配,總算時拜託了三星官方那個「不好看」的ui了。
體驗了一兩周後,發現小公尺系統也不是像周圍人說得那麼好。於是又混跡各大論壇三星s4板塊搜尋,最終鎖定了cm rom,但是只有i9500的rom,並沒有搜到有關移植到i9502的文章。這段時間,看了很多關於android系統的部落格,知道了aosp專案,cm專案,github。。。。
以下是移植想法的產生與程序的記錄:
1,移植rom包的原因:當然就是看不慣三星官方ui,也不怎麼喜歡miui,對cm rom一見鐘情,可惜沒有該機的適配。
啟動成功了,但是還是沒聲音的,還沒有audio hal。
3,samsung note3 (n900)也採用的是y821音訊。經過對比i9500和i9502官方包,以及i9502和n900rom包。發現,要讓y821有聲音,rom包的system目錄下必備以下檔案:
lib/hw/audio_policy.universal5410.so
lib/hw/audio.primary.universal5410.so
lib/libymc_codecctrl.so
lib/libymc_config.so
#lib/libsamsungsoundbooster_ext.so
lib/lib_samsung_resampler.so
lib/lib_soundaliveresampler.so
lib/libsamsungrecord.so
lib/libsamsungrecord_ns.so
#lib/libsamsungrecord_zoom.so
lib/libaudiopolicy_sec.so
lib/lib_soundalive_src192_ver204.so
lib/lib_samsungrec_v03011b.so
lib/lib_dnse_nrss_ver225.so
#lib/lib_samsung_audiozoom_v102.so
#lib/lib_soundbooster_ver402.so
lib/libcontrolcsc.so
vendor/firmware/es325_fw.bin
csc/sales_code.dat
usr/share/alsa/alsa.conf
vendor/firmware/srp_cga.bin
vendor/firmware/srp_data.bin
vendor/firmware/srp_vliw.bin
以上檔案是根據 github上n900的device (配置檔案 proprietary-file.txt,修改然後從官方rom中提取出
特別是audio.primary.xx.so,該檔案和i9500有區別,i9500的音訊驅動在github上能找到開源**。而y821卻沒有,所以我想除非自己有能力編寫hal層**,不然就只有用官方的了(ha3g cm 移植的高手貌似也是直接用得官方的吧。)
但是光替換這些系統反而會啟動不了。 提取logcat檔案會發現卡在waiting for sevice media.audio..
這篇文章提出了個解決方法。還沒試。
總結:1) 替換mokee i9500的romd的 核心,除了音訊不能用,其他功能基本不會fc
2) 替換上述檔案會卡在 waiting for sevice media.audio.
補充:在ubuntu下檢視 so檔案得依賴關係可以用 readelf -d xx.so
可以替換 so檔案的 soname? 直接用n900的 audio hal--待解決
整個移植過程記錄就記在這裡。等下次對整個android系統了解了再從頭開始吧
老羅的android的安卓之旅
深入淺出 android移植系列
android學習之路
製作三星I9088 刷機ROM的實踐(五)
今天繼續吧,前兩天聖蛋,自己也懶了。今天一定要完成這個完結篇吧。用前幾篇的方法我們同樣可以開啟那個csc.tar.md5檔案,得到的cache.rfs,同樣mount它。具體步驟在你理解前幾篇文章後就不是問題了。看到的目錄結構如下 那個command只是文字內容,看看無妨 嗯,除了wipe資料和快取...
製作三星I9088 刷機ROM的實踐(一)
首先,我們要理解rom的製作其實分為兩個層次 第一層是拿官方的rom做底包,通過解包 修改 打包幾個步驟,製作出自己定製的rom。第二層則基於google的aosp android open source project 從原始碼開始,自己編譯,自己打包得到自製rom。本文要討論的只是第一層的內容,...
製作三星I9088 刷機ROM的實踐(二)
書接上回,今天我們開始討論如何解開這些個刷機包。第二步 解開刷機包 這一步我們要先了解一件事,那個modem phone 是我們不要動的,它決定了手機的基帶部分,解開你也改不了,所以不用也不能修改它。現在的問題是,這個 tar.md5是怎麼回事?很簡單,你用winhex工具 或者其它類似的二進位制編...