Android 8.1 相关修改

       一些常用修改,做个记录,为了节约时间和防止踩坑。

一、修改默认中文
        修改位置:

build\make\target\product\full_base.mk
        修改内容:

# Put en_US first in the list, so make it default.
PRODUCT_LOCALES := zh_CN
注意: 如果修改无效,请使用find ./ -name "*.mk" | xargs grep "PRODUCT_LOCALES"进行全局搜索,找一找是否有其它位置会覆盖修改内容

二、修改默认时区
      修改位置:

device\rockchip\rk3326\device-common.mk
        修改内容:

persist.sys.timezone = Asia/Shanghai
注意: 如果修改无效,请使用find ./ -name "*.mk" | xargs grep "persist.sys.timezone"进行全局搜索,找一找是否有其它位置会覆盖修改内容 

三、修改永不息屏
        方法一(可能不生效):

                修改位置:

device\rockchip\rk3326\device-common.mk
                修改内容 :

ro.rk.screenoff_time=60000
        方法二(可能不生效):

                修改位置:

frameworks/base/packages/SettingsProvider/res/values/defaults.xml
                修改内容:

<integer name="def_screen_off_timeout">60000</integer>
        方法三(我生效的位置):

                修改位置:

device\rockchip\rk3326\overlay\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
                修改内容:

<integer name="def_screen_off_timeout">60000</integer>
        网上查了很多办法,也调试了很多地方,方法三的修改最终生效,应该是数据覆盖的原因吧。

四、修改最大音量级别和默认音量级别
        1、最大音量级别修改位置:

framework/base/services/core/java/com/android/server/audio/AudioService.java
         最大音量级别修改内容:在AudioService.java文件中的MAX_STREAM_VOLUME中,将数值修改为100,分100级,每次调1级。

   /** Maximum volume index values for audio streams */
    private static int[] MAX_STREAM_VOLUME = new int[] {
        5,  // STREAM_VOICE_CALL
        7,  // STREAM_SYSTEM  
        7,  // STREAM_RING
        15, // STREAM_MUSIC
        7,  // STREAM_ALARM
        7,  // STREAM_NOTIFICATION
        15, // STREAM_BLUETOOTH_SCO
        7,  // STREAM_SYSTEM_ENFORCED
        15, // STREAM_DTMF
        15, // STREAM_TTS
        15  // STREAM_ACCESSIBILITY
    };
         2、默认音量级别修改位置:

frameworks/base/media/java/android/media/AudioSystem.java 
        默认音量级别修改内容:在AudioSystem.java文件中的DEFAULT_STREAM_VOLUME中,修改数值,该数值即为默认音量

    public static int[] DEFAULT_STREAM_VOLUME = new int[] {
        4,  // STREAM_VOICE_CALL
        7,  // STREAM_SYSTEM
        5,  // STREAM_RING
        5, // STREAM_MUSIC
        6,  // STREAM_ALARM
        5,  // STREAM_NOTIFICATION
        7,  // STREAM_BLUETOOTH_SCO
        7,  // STREAM_SYSTEM_ENFORCED
        5, // STREAM_DTMF
        5, // STREAM_TTS
        5, // STREAM_ACCESSIBILITY
    };
五、隐藏顶部状态栏电量图标
        修改位置:

framework/base/SystemUI/src/com/android/systemui/BatteryMeterView.java
        修改内容:

六、修改开机logo
        修改位置:

kernel\logo.bmp
kernel\logo_kernel.bmp
        修改内容:更换logo.bmp和logo_kernel.bmp这两张图即可,logo必须是bmp图,注意图片分辨率不要超出屏幕分辨率

七、修改开机动画
         修改位置:

device/rockchip/common/BoardConfig.mk
device/rockchip/common/bootshutdown/bootshutdown.mk
device/rockchip/common/bootshutdown/bootanimation.zip
device/rockchip/common/bootshutdown/shutdownanimation.zip
        修改内容: 

                1、将 BoardConfig.mk 中的 BOOT_SHUTDOWN_ANIMATION_RINGING 置为 true 

                2、RK已经帮我们写好了bootshutdown.mk文件,其实就是文件拷贝,内容如下

CUR_PATH := device/rockchip/common/bootshutdown
 
HAVE_BOOT_ANIMATION := $(shell test -f $(CUR_PATH)/bootanimation.zip && echo yes)
HAVE_SHUTDOWN_ANIMATION := $(shell test -f $(CUR_PATH)/shutdownanimation.zip && echo yes)
 
ifeq ($(HAVE_BOOT_ANIMATION), yes)
PRODUCT_COPY_FILES += $(CUR_PATH)/bootanimation.zip:$(TARGET_COPY_OUT_OEM)/media/bootanimation.zip
endif
ifeq ($(HAVE_SHUTDOWN_ANIMATION), yes)
PRODUCT_COPY_FILES += $(CUR_PATH)/shutdownanimation.zip:$(TARGET_COPY_OUT_OEM)/media/shutdownanimation.zip
endif
                 3、我们只需把开机动画bootanimation.zip和关机动画shutdownanimation.zip放到device/rockchip/common/bootshutdown/路径下即可

        制作 bootanimation.zip:

                1、bootanimation.zip包含part0文件夹和desc.txt,也可能包含part0、part1,我这里只用了一个,其目录如下 

                2、part0文件夹中放置动画图片,注意动画图片分辨率不要超过屏幕分辨率

                3、desc.txt中第一行1024 600 9,其中1024 600代表像素,即1024*600,9代表每秒钟播9张图片;第二行p 0 0 part0,p固定开头,第一个0为重复播放次数,0代表无限播放,如果为3代表播放三次,第二个0代表的是前后两帧之间间隔时间/帧数;最后的part0代表动画图文件夹

                4、同时选中part0和desc.txt,鼠标右击,选择"添加到压缩文件",压缩文件格式选择”ZIP“,压缩方式选择”存储“。压缩完成后打开看下,里面不要有bootanimation文件夹

注意:desc.txt内容写完,鼠标放到最后一行内容最后面,回车一下,然后在保存文件,否则设备无法解析,这是个巨坑!!!

八、user/userdebug版本下编译内容区分
        目的:只需在userdebug版本下编译进某些应用,比如产测apk,user版本下不需要编译进去

        修改位置:

build\target\product\core.mk
        修改内容:

ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += \
    DeviceTest
endif
        其中ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))代表DeviceTest这个应用在userdebug或者eng版本下才会编译进来,user版本下不会编译进来

        如果只在user版本下编译进来,则修改成ifneq (,$(filter user,$(TARGET_BUILD_VARIANT)))即可

九、修改固件包版本号
        修改位置:

device\rockchip\rk3326\device-common.mk
        修改内容:

PRODUCT_PROPERTY_OVERRIDES += \
    ro.product.version = 0.0.3 \
    ro.product.ota.host = www.rockchip.com:2300
        其中ro.product.version = 0.0.3就是版本号,可通过adb shell getprop查看 

十、开机时间优化
     

  1、配置32位系统和系统裁剪,请参考以下链接。精简版固件包只有800多M

Rockchip Android平台内存优化及系统裁剪_build_with_go_opt-CSDN博客

Rockchip PX30/RK3326 Android开机时间优化_android rk356x开机优化-CSDN博客

        2、 BOOT TIMEOUT

        按照第1步精简系统后,使用原生Launcher和SystemUI,系统开机时间只有15s。后来集成第三方Launcher+第三方SystemUI+其它应用,共计200多M,集成到系统中开机时间达到了46s,明显感觉不对。于是使用Logcat抓日志,果然有发现问题。

         在日志中有发现BOOT TIMEOUT......超时了?百度了下,找到了解决办法:

        修改位置:

frameworks\base\core\res\res\values\config.xml
         修改内容:

<!-- True if WallpaperService is enabled -->
<bool name="config_enableWallpaperService">false</bool>
 修改后,开机时间由46s变成21s,解决问题。
————————————————

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跟着cherno手搓游戏引擎【14】封装opengl

本节先把代码粘上&#xff0c;后续会慢慢把注释都给加上&#xff0c;先看代码了解个大概&#xff08;待更新&#xff09; 前置&#xff1a; RendererAPI.h: #pragma once namespace YOTO {enum class RendererAPI {None 0,OpenGL1};class Renderer {public:inline static R…

JavaWeb后端登录校验功能(JWT令牌技术,Cookie技术,Session,拦截技术,过滤器)

目录 一.登录校验功能&#xff08;解决直接通过路径访问&#xff09; 1.实现思路 二.会话技术 ​编辑 1.Cookie技术 2.Session 3.令牌技术 1.简介 2.如何生成和解析 3.令牌的使用 三.Filter过滤器 1.什么是过滤器 2.实现步骤&#xff1a; 3.过滤器执行流程 4.拦截路径 5.过…

[C++历练之路]C++中的继承小学问

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; &#x1f354;前言&#xff1a; C中&#xff0c;继承是一种面向对象编程的重要概念&#xff0c;它允许一个类&#xff08;子类/派生类&#xff09;从另一个类&#xff08;父类/基类&#xff09;继承属性和方法。继承是…

免费MySQL数据库客户端推荐

1. Navicat Lite Navicat Lite是一款功能强大的数据库管理工具&#xff0c;提供了免费版本供个人开发者使用。它支持MySQL等多种数据库系统&#xff0c;具有直观的用户界面和丰富的功能&#xff0c;包括数据编辑、导入导出、备份恢复等。 2. Toad Edge Toad Edge是一款针对开…

Hadoop-MapReduce-YarnChild启动篇

一、源码下载 下面是hadoop官方源码下载地址&#xff0c;我下载的是hadoop-3.2.4&#xff0c;那就一起来看下吧 Index of /dist/hadoop/core 二、上下文 在上一篇<Hadoop-MapReduce-MRAppMaster启动篇>中已经将到&#xff1a;MRAppMaster的启动&#xff0c;那么运行M…

(刷题记录)移除元素

我的代码&#xff1a; class Solution {public int removeElement(int[] nums, int val) {int j0;for(int i0;i<nums.length;i){if(nums[i]!val){nums[j]nums[i];j;}}return j;} }思路&#xff1a;双指针&#xff0c;右指针指向当前要处理的元素&#xff0c;有不等的数就赋…

Docker私有仓库搭建

registry私有仓库 步骤一&#xff1a;先拉取registry的镜像 [rootlocalhost ~]#docker pull registry 步骤二&#xff1a;修改docker的配置文件重启 [rootlocalhost ~]#vim /etc/docker/daemon.json {"insecure-registries": ["192.168.66.66:5000"] }[r…

第二十天| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

Leetcode 654.最大二叉树 题目链接&#xff1a;654 最大二叉树 题干&#xff1a;给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建: 创建一个根节点&#xff0c;其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大…

浅谈隔离放大器

浅谈隔离放大器 定义&#xff1a;隔离放大器是将输入的电量信号或物理量信号通过一种技术手段处理后,隔离输出一组模拟量信号,这组模拟量信号是以标准的4-20mA/0-20mA/0-10mA/0-10V/0-5V/1-5V/2-10V/0-2.5V/0-20mA/0-10mA/0-10V/0-100mV/0-5V等信号,以便控制系统及仪器仪表设备…

PGsql 解析json及json数组

创建测试数据 drop table if exists json_test; create table json_test as select 111 as id, {"nodes":{"1692328028076":{"nodeId":"1692328028076","nodeName":"测试表1","nodeType":"DATACO…

单片机学习笔记---定时器计数器(含寄存器)工作原理介绍(详解篇2)

目录 T1工作在方式2时 T0工作在方式3时 四种工作方式的总结 定时计数器对输入信号的要求 定时计数器对的编程的一个要求 关于初值计算的问题 4种工作方式的最大定时时间的大小 关于编程方式的问题 实例分析 实例1 实例2 T1工作在方式2时 51单片机&#xff0c;有两个…

vue实践:构建高效的电子签名功能

前言 在现代数字化时代&#xff0c;电子签名成为了一种方便、高效且安全的签署文件的方式。本文将介绍电子签名的原理和实现方法&#xff0c;帮助你快速掌握这一重要的工具。 电子签名是什么&#xff1f; 电子签名是一种数字化的签名方式&#xff0c;用于验证和确认电子文档、…

matlab appdesigner系列-app程序打包成可执行exe程序

提供了3种打包方式&#xff1a; 1&#xff09;Matlab App &#xff0c;这种方式是生成Matlab内部使用的小程序&#xff0c;可添加到matlab app菜单栏中的常用程序中&#xff0c;也就是应用该程序之前&#xff0c;你必须安装了matlab&#xff1b; 2&#xff09;Web app 3&…

vs 撤销本地 commit 并保留更改

没想到特别好的办法&#xff0c;我想的是用 vs 打开 git 命令行工具 然后通过 git 命令来撤销提交&#xff0c;尝试之前建议先建个分支实验&#xff0c;以免丢失代码&#xff0c; git 操作见 git 合并多个 commit / 修改上一次 commit

GDB调试技巧实战--自动化画出类关系图

1. 前言 上节我们在帖子《Modern C++利用工具快速理解std::tuple的实现原理》根据GDB的ptype命令快速的理解了std::tuple数据结构的实现,但是手动一个个打印,然后手动画出的UML图,这个过程明显可以自动化。 本文旨在写一个GDB python脚本把这个过程自动化。 本脚本也可以用…

2024年Java高阶面试题

2024年Java实战面试题&#xff08;北京&#xff09;_java 5 年 面试-CSDN博客 一、在面对千万条并发请求的情况下&#xff0c;如果数据库频繁查询导致崩溃&#xff0c;可以采取以下措施来解决问题: 1.缓存数据:可以使用缓存技术来减少对数据库的查询次数。将经常查询的数据存储…

2024.1.29 GNSS 学习笔记

1.假设只对4颗卫星进行观测定位&#xff0c;卫星的截止高度角是15&#xff0c;那么如何布设这四颗卫星的位置&#xff0c;使其围成的四面体的体积得到最大&#xff0c;以获得最好定位精度&#xff1f; 答&#xff1a;3颗卫星均匀分布在最低仰角面上&#xff0c;第4颗卫星在测站…

华为笔记本matebook pro X如何扩容 C 盘空间

一、前提条件 磁盘扩展与合并必须是相邻分区空间&#xff0c;且两个磁盘类型需要相同。以磁盘分区为 C 盘和 D 盘为例&#xff0c;如果您希望增加 C 盘容量&#xff0c;可以先将 D 盘合并到 C 盘&#xff0c;然后重新创建磁盘分区&#xff0c;分配 C 盘和 D 盘的空间大小。 访…

git push后,如何撤销git log上的错误注释

修改了本地的代码&#xff0c;执行了下面的操作&#xff0c;提交之后&#xff0c;怎么样修改 git add ********(文件名)//git add 添加修改文件名之后 git commit //git commit 在当前分支提交&#xff0c;编写提交注释 git push //git push 提交修…

Android T 远程动画显示流程(更新中)

序 本地动画和远程动画区别是什么? 本地动画&#xff1a;自给自足。对自身SurfaceControl矢量动画进行控制。 远程动画&#xff1a;拿来吧你&#xff01;一个app A对另一个app B通过binder跨进程通信&#xff0c;控制app B的SurfaceControl矢量动画。 无论是本地动画还是远程…