美文网首页
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