20251029让AIO-3576Q38开发板适配Rockchip的原厂Android14之后配置为禁止锁屏
2025/10/29 15:31
缘起:拿到了一份三手的Rockchip原厂的Android14的SDK。
撸起袖子干吧!
计划:前期直接使用AIO-3576Q38开发板的Android14的DTS。
【前期有GPIO扩展芯片PCA9555芯片的编译问题,我直接关闭了!后期熟悉一下它】
然后加入:禁止锁屏的功能。不过原厂的SDK打印DEBUG巨多!
最开始,是找DeepSeek问的。白忙活了一下午!
CSDN搜索:RK3576 android14 禁止开机锁屏


对AIO-3576Q38开发板的WIFI模块AP6256进行性能摸底,那就跑半小时的iperf3了!
【一般性测试/非精确】实测网速【平均值】:87.8 Mbits/sec
编译firefly的AIO-3576Q38开发板的Android14。
开动!
https://www.t-firefly.com/doc/download/320.html
AIO-3576C
源代码
https://pan.baidu.com/s/1mGkGxlxodHedXJZqLKRRRg?pwd=1234
Android14.0 bundle
提取码:1234
https://wiki.t-firefly.com/zh_CN/AIO-3576Q38/android_compile_android14.0_firmware.html
AIO-3576Q38
- 编译 Android14.0 固件
3.1. 下载 Android14.0 SDK
SDK 源码与 bundle 压缩包均存放在云盘中。如有需要请联系商务 : sales@t-firefly.com
【RK3576的】Android14禁止锁屏
https://blog.csdn.net/weixin_46608089/article/details/145927551
From 5d3fa84892230bb9b349e3015b106400904246aa Mon Sep 17 00:00:00 2001
From: Tovi <1040180344@qq.com>
Date: Tue, 24 Dec 2024 20:36:14 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A6=81=E6=AD=A2=E9=94=81=E5=B1=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
.../base/packages/SettingsProvider/res/values/defaults.xml | 2 +-
.../base/packages/SettingsProvider/res/values/defaults.xml | 4 ++--
device/rockchip/rk3576/rk3576_u/rk3576_u.mk | 1 +
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/device/rockchip/common/overlay_go/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/device/rockchip/common/overlay_go/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index d1abd4dbc22..80edbb2b67a 100755
--- a/device/rockchip/common/overlay_go/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/device/rockchip/common/overlay_go/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -17,7 +17,7 @@
*/
-->
<resources>
- <integer name="def_screen_off_timeout">60000</integer>
- <integer name="def_screen_off_timeout">0x7fffffff</integer>
<!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
which is a comma separated list of packages that no longer need confirmation
for immersive mode.
diff --git a/device/rockchip/rk3576/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/device/rockchip/rk3576/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index b02c48b5619..b6d460e9f3b 100755
--- a/device/rockchip/rk3576/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/device/rockchip/rk3576/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -17,7 +17,7 @@
*/
-->
<resources>
- <integer name="def_screen_off_timeout">60000</integer>
- <integer name="def_screen_off_timeout">0x7fffffff</integer>
<!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
which is a comma separated list of packages that no longer need confirmation
for immersive mode.
@@ -25,7 +25,7 @@
<string name="def_immersive_mode_confirmations" translatable="false">confirmed</string>
<bool name="def_bluetooth_on">false</bool>
<bool name="def_accelerometer_rotation">false</bool>
- <bool name="def_lockscreen_disabled">true</bool>
<!-- 0 == Always sleep
1 == Do not sleep when plugged in
2 == Never sleep
diff --git a/device/rockchip/rk3576/rk3576_u/rk3576_u.mk b/device/rockchip/rk3576/rk3576_u/rk3576_u.mk
index 5149f0cbb83..9cd816998dd 100755
--- a/device/rockchip/rk3576/rk3576_u/rk3576_u.mk
+++ b/device/rockchip/rk3576/rk3576_u/rk3576_u.mk
@@ -44,3 +44,4 @@ PRODUCT_PROPERTY_OVERRIDES += persist.wifi.sleep.delay.ms=0
PRODUCT_PROPERTY_OVERRIDES += persist.bt.power.down=true
PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=DSI
PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.extend=HDMI-A,eDP
+PRODUCT_SYSTEM_EXT_PROPERTIES += ro.lockscreen.disable.default=true
\ No newline at end of file
--
2.17.1
1、
Z:\proj\RK3576_Android14.0\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
Y:\new_disk_4t\RK3576_Android14.0_SDK_RELEASE\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<resources>
<bool name="def_dim_screen">true</bool>
<integer name="def_screen_off_timeout">60000</integer>
<integer name="def_sleep_timeout">-1</integer>
修改为:
<resources>
<bool name="def_dim_screen">true</bool>
<integer name="def_screen_off_timeout">-1</integer>
<integer name="def_sleep_timeout">-1</integer>
一般为:
<resources>
<bool name="def_dim_screen">true</bool>
<integer name="def_screen_off_timeout">0x7fffffff</integer>
<integer name="def_sleep_timeout">-1</integer>


2、
Z:\proj\RK3576_Android14.0\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
Y:\new_disk_4t\RK3576_Android14.0_SDK_RELEASE\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<bool name="def_lockscreen_disabled">false</bool>
<bool name="def_device_provisioned">false</bool>
<integer name="def_dock_audio_media_enabled">1</integer>
修改为:
<bool name="def_lockscreen_disabled">true</bool>
<bool name="def_device_provisioned">false</bool>
<integer name="def_dock_audio_media_enabled">1</integer>

3、
Z:\proj\RK3576_Android14.0\device\rockchip\rk3576\rk3576_u\rk3576_u.mk
Y:\new_disk_4t\RK3576_Android14.0_SDK_RELEASE\device\rockchip\rk3576\rk3576_u\rk3576_u.mk
add Rockchip properties
PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=320
PRODUCT_PROPERTY_OVERRIDES += ro.wifi.sleep.power.down=true
PRODUCT_PROPERTY_OVERRIDES += persist.wifi.sleep.delay.ms=0
PRODUCT_PROPERTY_OVERRIDES += persist.bt.power.down=true
PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=DSI
PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.extend=HDMI-A,eDP
PRODUCT_SYSTEM_EXT_PROPERTIES += ro.lockscreen.disable.default=true

4、【可选修改】
Y:\new_disk_4t\RK3576_Android14.0_SDK_RELEASE\device\rockchip\rk3576\overlay\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
Z:\proj\RK3576_Android14.0\device\rockchip\rk3576\overlay\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<resources>
<integer name="def_screen_off_timeout">60000</integer>
<!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
which is a comma separated list of packages that no longer need confirmation
for immersive mode.
Override to disable immersive mode confirmation for certain packages. -->
<string name="def_immersive_mode_confirmations" translatable="false">confirmed</string>
<bool name="def_bluetooth_on">false</bool>
<bool name="def_accelerometer_rotation">false</bool>
<!-- 0 == Always sleep
1 == Do not sleep when plugged in
2 == Never sleep
When the screen is off, it will enter the sleep policy.
You can configure persist.wifi.sleep.delay.ms to delay closing wifi.
The default is 15 minutes, 0 means that the wifi is turned off
immediately after the screen is off. -->
<integer name="def_wifi_sleep_policy">2</integer>
<!-- Decrease animation duration. -->
<fraction name="def_window_animation_scale">50%</fraction>
<fraction name="def_window_transition_scale">50%</fraction>
</resources>
修改为:
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<resources>
<integer name="def_screen_off_timeout">0x7fffffff</integer>
<!-- Initial value for the Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS setting,
which is a comma separated list of packages that no longer need confirmation
for immersive mode.
Override to disable immersive mode confirmation for certain packages. -->
<string name="def_immersive_mode_confirmations" translatable="false">confirmed</string>
<bool name="def_bluetooth_on">false</bool>
<bool name="def_accelerometer_rotation">false</bool>
<!-- 0 == Always sleep
1 == Do not sleep when plugged in
2 == Never sleep
When the screen is off, it will enter the sleep policy.
You can configure persist.wifi.sleep.delay.ms to delay closing wifi.
The default is 15 minutes, 0 means that the wifi is turned off
immediately after the screen is off. -->
<integer name="def_wifi_sleep_policy">2</integer>
<!-- Decrease animation duration. -->
<fraction name="def_window_animation_scale">50%</fraction>
<fraction name="def_window_transition_scale">50%</fraction>
<!-- add by firefly -->
<bool name="def_lockscreen_disabled">true</bool>
<!-- end by firefly -->
</resources>

5、【可选修改】
android14修改默认锁屏方式为无
https://blog.csdn.net/hedalei/article/details/143489026
android14修改默认休眠时间为永不休眠后,依然会很快就会息屏进入休眠。后面发现系统默认的锁屏方式为滑动解锁。开机后出现的就是滑动解锁的界面。解锁后或者设置系统锁屏方式为无以后,就不会再休眠了。
系统中frameworks/base/packages/SettingsProvider/res/values/defaults.xml修改<bool name="def_lockscreen_disabled">true</bool>来禁止锁屏,系统默认还是不能够让锁屏方式变成无的。
上面函数可知,只要getBoolean(DISABLE_LOCKSCREEN_KEY, false, userId)、disabledByDefault、isDemoUser三个其中一个为true就可以返回true。我们还看到disabledByDefault,顾名思义就是默认值了,这个值由com.android.internal.R.bool.config_disableLockscreenByDefault决定,这个值位于frameworks\base\core\res\res\values\config.xml中的config_disableLockscreenByDefault。
<!-- Is the lock-screen disabled for new users by default -->
<bool name="config_disableLockscreenByDefault">false</bool>
AI写代码
XML
config_disableLockscreenByDefault为true,则默认关闭锁屏,isLockScreenDisabled返回true,系统就会默认锁屏方式为无。
<!-- Is the lock-screen disabled for new users by default -->
<bool name="config_disableLockscreenByDefault">false</bool>
修改为:
<!-- Is the lock-screen disabled for new users by default -->
<bool name="config_disableLockscreenByDefault">true</bool>

