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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

i9502移植rom包进程记录

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 i9502移植rom包进程记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為一些原因,這段時間不再折騰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一見鐘情,可惜沒有該機的適配。

2,移植的底包的選用:首選i9500,最初發現好像兩款機器支持的網絡不同,一個是單卡,一個是雙卡。后來發現兩款機器除了這個外,還有一個比較重要得區別就是采用的音頻芯片不同,通過對三星開源網址(opensource.samsung.com)下載的內核源碼的編譯配置defconfig文件發現(該文件位于/arm/config/),i9500采用Wolfson的WM5012,而i9502采用的是 yamaha的 y821,我想這也就是為什么當初直接刷i9500的包,要么卡在bootanimation 要么就什么也不顯示的原因之一吧。內核中根本就沒有音頻驅動呀!!根據CM 官網的移植教程 http://wiki.cyanogenmod.org/w/Doc:_porting_intro 以及 三星開源內核的readme文件,終于用arm-eabi4.6 編譯內核成功。當時發現了一個CM變種的貌似是中國本土的第三方編譯ROM,魔趣,就想著試一試,解包boot.img,替換掉zimage,用上我自己編譯的,看能不能行。結果,啟動成功了!

? 啟動成功了,但是還是沒聲音的,還沒有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 (https://github.com/flashka07/android_device_samsung_ha3g)配置文件 proprietary-file.txt,修改然后從官方ROM中提取出

特別是audio.primary.xx.so,該文件和i9500有區別,i9500的音頻驅動在github上能找到開源代碼。而y821卻沒有,所以我想除非自己有能力編寫HAL層代碼,不然就只有用官方的了(ha3g CM 移植的高手貌似也是直接用得官方的吧。)

但是光替換這些系統反而會啟動不了。 提取logcat文件會發現卡在Waiting for sevice media.audio..

http://blog.csdn.net/lamdoc/article/details/7708212 這篇文章提出了個解決方法。還沒試。


總結:

1) 替換mokee i9500的ROMd的 內核,除了音頻不能用,其他功能基本不會FC

2) 替換上述文件會卡在 Waiting for sevice media.audio.

補充:

? 在ubuntu下查看 so文件得依賴關系可以用 readelf -d? XX.so?

?可以替換 so文件的 soname? 直接用n900的 audio HAL--待解決


整個移植過程記錄就記在這里。等下次對整個android系統了解了再從頭開始吧


收藏的待看的大牛的博客地址:

?老羅的android的安卓之旅? http://blog.csdn.net/Luoshengyang/


android音頻系統相關博客文章:

http://blog.csdn.net/qianjin0703/article/details/6387662

http://blog.csdn.net/zgyrelax/article/details/40619731

http://blog.csdn.net/myarrow/article/details/8185515


深入淺出 android移植系列 http://blog.csdn.net/mr_raptor?viewmode=contents

android學習之路 http://www.stormzhang.com/android/2014/07/07/learn-android-from-rookie/


總結

以上是生活随笔為你收集整理的i9502移植rom包进程记录的全部內容,希望文章能夠幫你解決所遇到的問題。

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