三星galaxyS9定製Rom入門教程

2021-08-28 23:09:44 字數 3353 閱讀 2078

2023年中旬,谷歌宣布開啟project treble計畫,希望解決安卓手機碎片化的問題,有很多的良心廠商加入了該專案組,包括日本的索尼,南韓的三星,中國的一加,華為;也就是說,我們可以在三星的任何一款機器上面定製安卓原生系統,這對於對安卓手機有定製化需求的公司來說是一件很棒的事情;

主流手機廠商開源**

samsung open source release center

sony developer world

lenovo support

huawei open source release center

motorola developers

oneplus github repository

三星s9出來了,在國外的xda論壇已經有很多大神開始製作s9的rom包,但是國內的相關部落格確實少之又少,可能現在做rom不掙錢?總之,對於普通人開發者來說,想要把自己三星手機或者一加手機刷成自己的系統實在是太難了;的作為一名負責人的安卓開發人員,我決定把我學到的這點知識分享給大家,如果有錯誤也希望大家多多指正;

核心編譯;

系統原始碼編譯

刷入系統映象和核心映象

好了,那我們開始吧;

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced

配置輸出目錄

在核心解壓目錄下新建out目錄,用來存放編譯結果;

$ mkdir out

$ output_dir=out

修改根目錄下makefile檔案,指定編譯toolchain,我這裡是

cross_compile=/usr/local/toolchain/aarch64-linux-android-4.9/bin/aarch64-linux-android-
開始編譯

首先指定編譯版本,然後執行make指令:

$ export arch=arm64

$ make -c $(pwd) o=$(pwd)/out kcflags=-mno-android starqlte_chn_open_defconfig

$ make -c $(pwd) o=$(pwd)/out kcflags=-mno-android

到這裡就是耐心等待編譯完成了,編譯完成後,在out/arch/arm64/boot/image目錄下會生成核心映象,module目錄在out/drivers/*/*.ko下;

同樣的,我們要把一些必須的依賴庫加入進去,也需要自行配置一下(aosp不會自動配置的);這裡的話我通過修改build\target\product\core.mk檔案;

對應的模組需要的lib如下:

case 1) professionalaudio : 需要新增 'libjackshm','libjackserver','libjack', 'libjacklogger', 'androidshmservice','jackd','jack_dummy','jack_alsa','jack_opensles','jack_loopback',

'in','out','jack_connect','jack_disconnect','jack_lsp','jack_showtime','jack_******_client','jack_transport','libasound','libglib-2.0',

'libgthread-2.0' 到product_packages

case 2) e2fsprog : 需要新增 'e2fsck','resize2fs' 到product_packages

case 3) libexifa : 需要新增'libexifa' 到product_packages

case 4) libjpega :需要新增 'libjpega' 到product_packages

case 5) keyutils :需要新增 'libkeyutils' 到product_packages

具體怎麼做呢?我們只需要在該檔案裡面新增如下:

# professionalaudio

product_packages += \

libjackshm \

libjackserver \

libjack \

libjacklogger \

androidshmservice \

jackd \

jack_dummy \

jack_alsa \

jack_opensles \

jack_loopback \

in \

out \

jack_connect \

jack_disconnect \

jack_lsp \

jack_showtime \

jack_******_client \

jack_transport \

libasound \

libglib-2.0 \

libgthread-2.0

# e2fsprog

product_packages += \

e2fsck \

resize2fs

# libexifa

product_packages += \

libexifa

# libjpega

product_packages += \

libjpega

# keyutils

product_packages += \

libkeyutils

到這裡,依賴模組就新增完成了;

執行./build_64bit.sh

$ ./build_64bit.sh

爬蟲大作業 爬取三星Galaxy S9論壇

1.選乙個自己感興趣的主題或 所有同學不能雷同 2.用python 編寫爬蟲程式,從網路上爬取相關主題的資料。3.對爬了的資料進行文字分析,生成詞云。4.對文字分析結果進行解釋說明。5.寫一篇完整的部落格,描述上述實現過程 遇到的問題及解決辦法 資料分析思想及結論。6.最後提交爬取的全部資料 爬蟲及...

三星Galaxy S21 FE上市

經過數月的期待,三星galaxy s21 fe於本周早些時候發布。根據市場的不同,它配備了snapdragon 888或exynos 2100晶元組,今天它在一些地區開始銷售,比最初宣布的1月11日提前 這款6 12zzekvv8 gb型號的手機起價為749歐元 699英鎊,可以在歐洲的一些線下商店...

三星Galaxy S22高畫質渲染

早些時候,知名爆料人士 onleaks 分享了 galaxy s22ultra 程式設計客棧和 galaxy s22 兩款旗艦的高畫質渲染圖,程式設計客棧現在他再次分享了 ga程式設計客棧laxy s22標準版的渲染圖和 與 s22ultra 不同,其設計與三星 galaxy s22 相似,特別是機...