3399源碼修改

目錄

1、編譯

2染苛、修改logo

3鹊漠、添加luancher,添加mei_vod

4茶行、修改heapsize

5躯概、去掉 無用系統(tǒng)APK

6、去掉屏保

7畔师、去掉我知道了

8娶靡、修改setting

9、支持雙HDMI顯示

1看锉、編譯:
解壓源碼:
1姿锭、合并源碼 cat OK3399-android7-source.7z.00* > OK3399-android7-
source.7z
2、解壓源碼 有7za x OK3399-android7-source.7z
docker鏡像已安裝編譯:
1伯铣、docker安裝(略)
2呻此、docker鏡像還原(略)
3、su到root權(quán)限
4腔寡、docker start ec7e510963fb f4c2180bbbe3 f4c2180bbbe3(docker容器)
雙屏版本 容器 ec7e510963fb
5焚鲜、docker exec -it ec7e510963fb bin/bash
編譯:
1、cd /root/meiktvandroid/OK3399-android 進(jìn)入對(duì)應(yīng)目錄
2放前、export USER=$(whoami)
3忿磅、source build/envsetup.sh
4、lunch rk3399_all-userdebug
5凭语、./build-rk3399-all.sh -u

安卓編譯--USER: unbound variable
由于docker沒有設(shè)置USER環(huán)境變量導(dǎo)致葱她,手動(dòng)添加后繼續(xù)編譯即可
手動(dòng)添加:export USER=$(whoami)

編譯時(shí)可能遇到j(luò)ack server未啟動(dòng) jack server 內(nèi)存不足的問題

2、更改開機(jī)logo和動(dòng)畫:
logo: kernel/logo_kernel.bmp
動(dòng)畫:device/rockchip/rk3399/rk3399_all/bootanimation.zip

3似扔、添加luancher
系統(tǒng)權(quán)限簽名:
Android 平臺(tái)中 SELinux 將 App 劃分為三種,包括沒有 platform 簽名和系統(tǒng)權(quán)限的 untrusted_app吨些,
擁有 platform 簽名沒有系統(tǒng)權(quán)限的 platform_app,和擁有 platform 簽名和系統(tǒng)權(quán)限的 system_app搓谆。本節(jié),
將介紹如何給 apk 簽名獲得 system 權(quán)限锤灿。

  1. 制作簽名文件
    Android_7.1.2_UM
    FET3399-C挽拔、OK3399-C
  • 88 - www.fo+rlinx.com
    將 Android 系統(tǒng)中 build/target/product/security/platform.x509.pem 以及
    build/target/product/security/platform.pk8 拷貝到 windows 中。
    打開命令行窗口執(zhí)行:
    openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt
    openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name
    androiddebugkey
    輸入密碼:android
    keytool -importkeystore -deststorepass android -destkeypass android -destkeystore
    debug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias
    androiddebugkey
    其中 key-alias 以及 password 您可以根據(jù)需求修改為其它內(nèi)容但校。將簽名文件 debug.keystore 文
    件保存到您的常用目錄中螃诅。
    注意:如果您的 windows 系統(tǒng)中沒有 openssl 命令,請(qǐng)前往 http://slproweb.com/products/Win32O
    penSSL.html 下載安裝状囱,并設(shè)置環(huán)境變量术裸。
  1. 設(shè)置 andorid studio
    打開任意 android studio 工程,在 AndroidManifest.xml 中添加共享 UID 例如:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.forlinx.serialporttest"
    android:sharedUserId="android.uid.system" >
    點(diǎn)擊“File”->“project structure”:
    image.png

系統(tǒng)預(yù)裝 Apk 的方法

  1. 在 android 系統(tǒng)中新建目錄:
    mkdir packages/apps/serialporttest
    將需要預(yù)裝的 apk(無需簽名)拷貝到目錄中以 serialporttest.apk 為例:
    cp serialporttest.apk packages/apps/serialporttest
  2. 在 packages/apps/serialporttest 新建 Android.mk
    Android_7.1.2_UM
    FET3399-C亭枷、OK3399-C
  • 91 - www.forlinx.com
    LOCAL_PATH := (call my-dir) include(CLEAR_VARS)
    LOCAL_MODULE := serialporttest
    LOCAL_SRC_FILES := serialporttest.apk
    LOCAL_MODULE_CLASS := APPS
    LOCAL_MODULE_SUFFIX := .apk
    LOCAL_BUILT_MODULE_STEM := package.apk
    LOCAL_CERTIFICATE := platform
    LOCAL_DEX_PREOPT := false
    LOCAL_PRIVILEGED_MODULE := true
    include $(BUILD_PREBUILT)
  1. 同時(shí)修改 device/rockchip/rk3399/device.mk 添加
    PRODUCT_PACKAGES += \
    serialporttest
  2. 重新編譯鏡像袭艺。

4、修改heapsize
frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk
查看heapsize
adb shell getprop dalvik.vm.heapsize

6叨粘、去屏保
ok3399:do not lock screen default

diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index f4cefc2..7734cfd 100644
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -80,7 +80,7 @@
<string name="def_trusted_sound" translatable="false">/system/media/audio/ui/Trusted.ogg</string>
<string name="def_wireless_charging_started_sound" translatable="false">/system/media/audio/ui/WirelessChargingStarted.ogg</string>

  • <bool name="def_lockscreen_disabled">false</bool>
  • <bool name="def_lockscreen_disabled">true</bool>
    <bool name="def_device_provisioned">false</bool>
    <integer name="def_dock_audio_media_enabled">1</integer>
    7猾编、去掉我知道了:


    91f421fb2a18f884999fc0ccc5a7073d.jpg

源碼路徑:/frameworks/base/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
修改代碼去掉handleShow即可:

     @Override
     public void handleMessage(Message msg) {
         switch(msg.what) {
             case SHOW:
-           handleShow();
+           //handleShow();
                 break;
             case HIDE:
                 handleHide();
                 break;
         }
     }
 }

9、支持雙HDMI顯示:
kernel/arch/arm64/boot/dts/rockchip/ok3399.dts 文件第626行:
修改為:

  forlinx_control {
      status = "okay";
      primary-display = "DSI0-lvds@l";
      secondary-display = "HDMI@b";
  };
image.png

10升敲、清理編譯
1答倡、在源碼目錄的根目錄下,make clean;

2驴党、進(jìn)到源碼的\linux\kernel\目錄下瘪撇,執(zhí)行make mrproper;

3港庄、再退回到根目錄倔既,執(zhí)行sourcebuild/envsetup.sh,lunch,make.

11、修改龍訊口分辨率為1920x1080 以及時(shí)鐘頻率鹏氧,30hz不黑屏
kernel/arch/arm64/boot/dts/rockchip/ok3399.dts 文件第749-757行:

     clock-frequency = <83764800>;
                 hactive = <1280>;
                 vactive = <800>;
                 hback-porch = <200>;
                 hfront-porch = <72>;
                 vback-porch = <22>;
                 vfront-porch = <3>;
                 hsync-len = <128>;
                 vsync-len = <6>;

改成

         clock-frequency = <74250000>;
                 hactive = <1920>;
                 vactive = <1080>;
                 hback-porch = <148>;
                 hfront-porch = <88>;
                 vback-porch = <36>;
                 vfront-porch = <4>;
                 hsync-len = <44>;
                 vsync-len = <5>;

11渤涌、修改北京雙音頻空板子 音頻取反(2023-2-23修改,不用取反把还,取反后音頻輸出只走HDMI)
kernel/arch/arm64/boot/dts/rockchip/ok3399.dts 文件第551行:

headset_gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;

改成

headset_gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;

硬件上R200電阻短路

12歼捏、去除調(diào)節(jié)到最大音量有彈框問題
/frameworks/base/core/res/values/config.xml

<bool name="config_safe_media_volume_enabled">true</bool>

改成

<bool name="config_safe_media_volume_enabled">false</bool>

13、修改HDMI原生口超時(shí)時(shí)間
kernel/drivers/iommu/rockchip-iommu.c

read_wa:
    rk_iommu_command(iommu, RK_MMU_CMD_ENABLE_STALL);
    if (iommu->skip_read)
        return 0;
        /* modify by xingchun 1 modify 5 2022-9-30 */
    ret = rk_wait_for(rk_iommu_is_stall_active(iommu), 1);
    if (ret)
        for (i = 0; i < iommu->num_mmu; i++)
            dev_err(iommu->dev, "Enable stall request timed out, status: %#08x\n",
                rk_iommu_read(iommu->bases[i], RK_MMU_STATUS));

    return ret;
}

改成

read_wa:
    rk_iommu_command(iommu, RK_MMU_CMD_ENABLE_STALL);
    if (iommu->skip_read)
        return 0;
        /* modify by xingchun 1 modify 5 2022-9-30 */
    ret = rk_wait_for(rk_iommu_is_stall_active(iommu), 5);
    if (ret)
        for (i = 0; i < iommu->num_mmu; i++)
            dev_err(iommu->dev, "Enable stall request timed out, status: %#08x\n",
                rk_iommu_read(iommu->bases[i], RK_MMU_STATUS));

    return ret;
}

12笨篷、修改型號(hào)
/device/rockchip/rk3399/rk3399.mk
device/rockchip/rk3399/rk3399_all/buildspec.mk
修改gpu 版本號(hào)

device/rockchip/rk3399/rk3399_all.mk
修改
persist.sys.framebuffer.aux=5760x1080@60
改成
persist.sys.framebuffer.aux=5760x2160@60 \

PRODUCT_NAME := rk3399_all

PRODUCT_DEVICE := rk3399_all

PRODUCT_MODEL := rk3399-all

改成
PRODUCT_NAME := AM-001A
PRODUCT_DEVICE := AM-001A
PRODUCT_MODEL := AM-001A

device/rockchip/common/common.mk:PRODUCT_BRAND := AM010
device/rockchip/common/common.mk:PRODUCT_MANUFACTURER := AM010
device/rockchip/rk3399/BoardConfig.mk:PRODUCT_DEVICE := AM010
device/rockchip/rk3399/BoardConfig.mk:PRODUCT_NAME := AM010
device/rockchip/rk3399/BoardConfig.mk:PRODUCT_MODEL := AM010

device/rockchip/common/common.mk:PRODUCT_DEVICE := meisdk
device/rockchip/common/common.mk:PRODUCT_NAME := meisdk
device/rockchip/common/common.mk:PRODUCT_MODEL := meisdk
13、修改版本號(hào)
14瓣履、unbutu啟動(dòng)不了率翅,磁盤空間不夠 解決方案
參考:https://blog.csdn.net/xiaotaiyangzuishuai/article/details/118143508
15、修改uboot 修復(fù)龍訊口概率黑屏問題 uboot飛凌未開源 2023-2-23
賬號(hào) root 密碼ktvmei

16袖迎、
想要多個(gè)網(wǎng)卡同時(shí)使用冕臭,首先就要解決多網(wǎng)卡共存問題腺晾。Android系統(tǒng)默認(rèn)會(huì)將不需要的網(wǎng)絡(luò)給關(guān)閉的,以降低功耗辜贵。所以要解決以太網(wǎng)與Wi-Fi共存問題悯蝉,需要做如下改動(dòng):

--- a/frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetNetworkFactory.java

+++ b/frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetNetworkFactory.java

@@ -146,7 +146,8 @@ class EthernetNetworkFactory {

*/

private void updateInterfaceState(String iface, boolean up) {

if (!mIface.equals(iface)) {

- //return;

+ if(iface.equals("eth1")){ //增加一個(gè)判斷優(yōu)化影響wifi問題

+ mIface = iface; //更新mIface后面dhcp IP用

+ }else{

+ return;

+ }

}

Log.d(TAG, "updateInterface: " + iface + " link " + (up ? "up" : "down"));

17、修改聲卡驅(qū)動(dòng)
聲卡驅(qū)動(dòng)所在目錄:
/hardware/rockchip/audio/tinyalsa_hal/codec_config/wm8960_config_h

51ba0b2d5bbf7ed40a70fad058e7967.jpg

bb1d09370affcfd63ae37386912091d.jpg

18.去掉USB彈框權(quán)限
https://blog.csdn.net/weixin_32658257/article/details/117348616

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末托慨,一起剝皮案震驚了整個(gè)濱河市鼻由,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厚棵,老刑警劉巖蕉世,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異婆硬,居然都是意外死亡狠轻,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門彬犯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來向楼,“玉大人,你說我怎么就攤上這事谐区『桑” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵卢佣,是天一觀的道長重荠。 經(jīng)常有香客問我,道長虚茶,這世上最難降的妖魔是什么戈鲁? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮嘹叫,結(jié)果婚禮上婆殿,老公的妹妹穿的比我還像新娘。我一直安慰自己罩扇,他們只是感情好婆芦,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喂饥,像睡著了一般消约。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上员帮,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天或粮,我揣著相機(jī)與錄音,去河邊找鬼捞高。 笑死氯材,一個(gè)胖子當(dāng)著我的面吹牛渣锦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播氢哮,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼袋毙,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了冗尤?” 一聲冷哼從身側(cè)響起听盖,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎生闲,沒想到半個(gè)月后媳溺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碍讯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年悬蔽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捉兴。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝎困,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出倍啥,到底是詐尸還是另有隱情禾乘,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布虽缕,位于F島的核電站始藕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏氮趋。R本人自食惡果不足惜伍派,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望剩胁。 院中可真熱鬧诉植,春花似錦、人聲如沸昵观。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啊犬。三九已至灼擂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間觉至,已是汗流浹背缤至。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人领斥。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像沃暗,于是被迫代替她去往敵國和親月洛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容