美文网首页
3399源码修改

3399源码修改

作者: Hilbert1 | 来源:发表于2022-03-04 16:16 被阅读0次

    目录

    1、编译

    2、修改logo

    3、添加luancher,添加mei_vod

    4、修改heapsize

    5、去掉 无用系统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.7
    docker镜像已安装编译:
    1、docker安装(略)
    2、docker镜像还原(略)
    3、su到root权限
    4、docker start ec7e510963fb f4c2180bbbe3 f4c2180bbbe3(docker容器)
    双屏版本 容器 ec7e510963fb
    5、docker exec -it ec7e510963fb bin/bash
    编译:
    1、cd /root/meiktvandroid/OK3399-android 进入对应目录
    2、export USER=$(whoami)
    3、source build/envsetup.sh
    4、lunch rk3399_all-userdebug
    5、./build-rk3399-all.sh -u

    安卓编译--USER: unbound variable
    由于docker没有设置USER环境变量导致,手动添加后继续编译即可
    手动添加:export USER=$(whoami)

    编译时可能遇到jack server未启动 jack server 内存不足的问题

    2、更改开机logo和动画:
    logo: kernel/logo_kernel.bmp
    动画:device/rockchip/rk3399/rk3399_all/bootanimation.zip

    3、添加luancher
    系统权限签名:
    Android 平台中 SELinux 将 App 划分为三种,包括没有 platform 签名和系统权限的 untrusted_app,
    拥有 platform 签名没有系统权限的 platform_app,和拥有 platform 签名和系统权限的 system_app。本节,
    将介绍如何给 apk 签名获得 system 权限。

    1. 制作签名文件
      Android_7.1.2_UM
      FET3399-C、OK3399-C
    • 88 - www.forlinx.com
      将 Android 系统中 build/target/product/security/platform.x509.pem 以及
      build/target/product/security/platform.pk8 拷贝到 windows 中。
      打开命令行窗口执行:
      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 您可以根据需求修改为其它内容。将签名文件 debug.keystore 文
      件保存到您的常用目录中。
      注意:如果您的 windows 系统中没有 openssl 命令,请前往 http://slproweb.com/products/Win32O
      penSSL.html 下载安装,并设置环境变量。
    1. 设置 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" >
      点击“File”->“project structure”:
      image.png

    系统预装 Apk 的方法

    1. 在 android 系统中新建目录:
      mkdir packages/apps/serialporttest
      将需要预装的 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. 同时修改 device/rockchip/rk3399/device.mk 添加
      PRODUCT_PACKAGES += \
      serialporttest
    2. 重新编译镜像。

    4、修改heapsize
    frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk

    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、在源码目录的根目录下,makeclean;

    2、进到源码的\linux\kernel\目录下,执行makemrproper;

    3、再退回到根目录,执行sourcebuild/envsetup.sh,lunch,make.

    相关文章

      网友评论

          本文标题:3399源码修改

          本文链接:https://www.haomeiwen.com/subject/tormrrtx.html