当前位置: 首页 > news >正文

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,解决问题。
————————————————

相关文章:

Android 8.1 相关修改

一些常用修改&#xff0c;做个记录&#xff0c;为了节约时间和防止踩坑。 一、修改默认中文 修改位置&#xff1a; build\make\target\product\full_base.mk 修改内容&#xff1a; # Put en_US first in the list, so make it default. PRODUCT_LOCALES : zh_…...

EG-2121CA (晶体振荡器 低抖动表面声波(SAW)振荡器)

在当今高度数字化的时代&#xff0c;稳定的信号传输显得尤为重要。若要实现信号的稳定传输&#xff0c;晶体振荡器必不可少。EG-2121CA&#xff0c;它是一款低抖动表面声波&#xff08;SAW&#xff09;振荡器设计的产品&#xff0c;凭借其出色的频率范围、稳定的电源电压和可靠…...

Django知识随笔

目录 1.如何再ajax中传输post数据&#xff1f; 2.在form表单中使用jquery序列化&#xff0c;input框过多。 1.如何再ajax中传输post数据&#xff1f; 在ajax传递的那个网址&#xff0c;会调用你路由的视图函数&#xff0c;在视图函数上面加一句 csrf_exempt 。写上之后会有提…...

Facebook 广告帐户:多账号运营如何防止封号?

Facebook目前是全球最受欢迎的社交媒体平台之一&#xff0c;拥有超过27亿活跃用户。因此&#xff0c;它已成为个人和企业向全球受众宣传其产品和服务的重要平台。 然而&#xff0c;Facebook 制定了广告商必须遵守的严格政策和准则&#xff0c;以确保其广告的质量和相关性&…...

酷开会员 | 用酷开系统点亮多彩休闲时刻

现代人的休闲方式多种多样&#xff0c;随着科技的发展和生活水平的提高&#xff0c;人们有了更多的选择。而电视&#xff0c;作为一个休闲娱乐的载体&#xff0c;在生活中扮演着重要的角色。 以前&#xff0c;电视是家家户户休闲娱乐的重要组成部分&#xff0c;现在&#xff0…...

分配土地(100%用例)C卷(JavaPythonC++Node.jsC语言)

从前有个村庄,村民们喜欢在各种田地上插上小旗子,旗子上标识了各种不同的数字。某天集体村民决定将覆盖相同数字的最小矩阵形的土地的分配给为村里做出巨大贡献的村民,请问,此次分配士地,做出贡献的村民中最大会分配多大面积? 输入描述: 第一行输入m和n,m代表村子的土…...

电源的纹波

【电源的“纹波”到底是什么&#xff1f;-哔哩哔哩】 https://b23.tv/28IIbtU 严谨的说&#xff0c;只有中间这种是纹波。 两类电源 线性电源通过自动调节内部电阻&#xff0c;修改输出电压&#xff0c;可以降低输入电压的波动。开关电源的原理&#xff0c;就会产生纹波。纹波…...

85.网游逆向分析与插件开发-物品使用-物品使用的逆向分析与C++代码的封装

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;项目需求与需求拆解-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;453dd83d54140d2e1ee65c9…...

JVM系列——垃圾收集器

对象存活判断 引用计数法 在对象中添加一个引用计数器&#xff0c;每当有一个地方引用它时&#xff0c;计数器值就加一&#xff1b;当引用失效时&#xff0c;计数器值就减一&#xff1b;任何时刻计数器为零的对象就是不可能再被使用的。 可达性分析算法 通过一系列称为“GC …...

那些年与指针的情仇(二)---二级指针指针与数组的那点事函数指针

关注小庄 顿顿解馋(&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e; 欢迎回到我们的大型纪录片《那些年与指针的爱恨情仇》&#xff0c;在本篇博客中我们将继续了解指针的小秘密&#xff1a;二级指针&#xff0c;指针与数组的关系以及函数指针。请放心食用&a…...

APPCRASH 文件管理器不停重启问题记录 (最后reinstall解决)以及重装后到底会怎样

问题诱因&#xff1a; 时间 2024年1月 &#xff08;严重怀疑&#xff0c;但无法实锤&#xff09; 是我不知道什么时候&#xff08;应该是近期&#xff09;安装了powertoy的预览版&#xff0c;系统不知道什么时候&#xff08;也应该是这两天&#xff09;安装了微软出品的PC man…...

导出excel功能,前端的解决方案

import { utils, writeFileXLSX } from xlsx // 导出excel async exportToExcel() {// 获取要导出的业务数据&#xff08;这里的接口自己改成实际使用的接口&#xff09;const res await getRuleListAPI(this.params)// 表头英文字段key&#xff08;这里的数据改成接口返回的实…...

【lesson24】MySQL索引的理解

文章目录 建立测试表插入多条记录查看插入结果中断一下---为何IO交互要是 Page重谈page理解单个page理解多个page 页目录单页情况多页情况复盘一下InnoDB 在建立索引结构来管理数据的时候&#xff0c;其他数据结构为何不行&#xff1f;B vs B聚簇索引 VS 非聚簇索引 建立测试表…...

Oracle篇—分区索引的重建和管理(第三篇,总共五篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…...

前端大厂面试题探索编辑部——第一期

目录 简介 题目 单选题 题解 A选项的Content-Security-Policy http-equiv属性 content属性 B选项的CSRF 使用CSRF Token 验证Referer和Origin头 C选项的HTTP Only D选项的防止SQL注入 输入验证和转义 简介 这个是一个长系列&#xff0c;我会以题目为导向&#xff…...

图扑 HT UI 5.0 全新升级,开箱即用!

为顺应数字时代的不断发展&#xff0c;图扑 HT UI 5.0 在原有功能强大的界面组件库的基础上进行了全面升级&#xff0c;融入了更先进的技术、创新的设计理念以及更加智能的功能。HT UI 5.0 使用户体验更为直观、个性化&#xff0c;并在性能、稳定性和安全性等方面达到新的高度。…...

数据结构----链表介绍、模拟实现链表、链表的使用

文章目录 1. ArrayList存在的问题2. 链表定义2.1 链表的概念及结构2.2 链表的组合类型 3. 链表的实现3.1 单向、不带头、非循环链表的实现3.2 双向、不带头节点、非循环链表的实现 4.LinkedList的使用4.1 什么是LinkedList4.2 LinkedList的使用4.2.1. LinkedList的构造4.2.2. L…...

微信小程序如何控制元素的显示和隐藏

目录 方式一:display 方式二:wx:if 有时在微信小程序元素的显示需要通过特定的条件,比如组件的显示,通常需要在主界面有指定操作。可以通过以下两种方式控制元素的显示和隐藏。 方式一:display 在wxml或者wxss中设置display样式可以控制元素显示情况,元素默认显示,可…...

解决ssh: connect to host github.com port 22: Connection timed out

当连接 GitHub 时无法连接到 22 端口时&#xff0c;可以尝试将端口更换为 443 首先&#xff0c;尝试使用以下命令从 GitHub 克隆仓库&#xff1a; $ git clone gitgithub.com:xxxxx/xxxx.git my-awesome-proj如果出现以下错误信息&#xff1a; Cloning into my-awesome-proj…...

idea 创建 spring boot

1.创建步骤 2. 编码添加 2.1 这是自动生成的启动函数 package com.example.comxjctest4;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class Application {publi…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...