【RK3399】Android 9.0 系统更改记录

目录

一、去掉锁屏

二、系统永不休眠

三、更改系统语言


一、去掉锁屏

位置:frameworks/base/packages/SettingsProvider/res/values/defaults.xml

<bool name="def_lockscreen_disabled">false</bool>

将其中的 false 改成 true 

二、系统永不休眠

位置:frameworks/base/packages/SettingsProvider/res/values/defaults.xml

修改前:

<integer name="def_screen_off_timeout">60000</integer>

  注:60000表示用户一分钟无操作则进入睡眠状态.

修改后:

<integer name="def_screen_off_timeout">2147483646</integer>

编译,烧system.img.功能实现.

三、更改系统语言

位置:build/target/product/full_base.mk
修改 PRODUCT_LOCALES := zh_CN 就 OK。

### RK3326 平台 Android 9.0 音量调节 ADC 配置教程 在 RK3326 平台上实现 Android 9.0 的音量调节功能涉及多个层面的配置,包括硬件抽象层 (HAL) 和驱动程序的支持。以下是关于如何完成此任务的具体说明。 #### HAL 库支持 为了使音频设备能够正常工作,需要确保 HAL 层已经正确编译并部署到目标设备上。对于 RK3326 而言,其 HAL 文件路径可能类似于 `./out/target/product/rk3326/vendor/lib/hw/audio.primary.rk30board.so`[^1]。如果该文件不存在,则需重新构建项目以生成所需的 HAL 库。 将新生成的 HAL 库替换至设备中的对应位置: ```bash adb push audio.primary.rk30board.so /vendor/lib/hw/ ``` #### 设备树配置 音量调节通常依赖于特定的寄存器设置来控制模拟数字转换器 (ADC),这些设置可以通过修改设备树 (Device Tree, DTB) 来完成。具体操作如下: 1. 找到当前使用的设备树源码文件(通常是 `.dts` 文件)。例如,在 RK3326 上可能是 `rk3326-evb.dts`。 2. 添加或调整与 ES7210 或其他声卡芯片相关的节点定义。以下是一个示例片段: ```dts sound { compatible = "simple-audio-card"; simple-audio-card,name = "ES7210 Audio"; /* 定义输入输出端口 */ simple-audio-card,format = "i2s"; simple-audio-card,mclk-fs = <256>; /* 连接 CPU DAI 到 Codec */ simple-audio-card,cpu { sound-dai = <&i2s>; }; simple-audio-card,codec { sound-dai = <&es7210_codec>; // 声卡对应的 codec 名称 }; }; ``` 3. 编译更新后的设备树文件,并将其入设备中。 #### 驱动调试与错误排查 当遇到音量调节失败或其他问题时,可以按照以下方法进行排查: - **日志分析** 使用 ADB 工具捕获系统日志,重点关注音频子系统的消息输出: ```bash adb logcat | grep -i audio ``` 如果发现异常提示,比如找不到指定的 HAL 模块或者无法初始化某些资源,则表明可能存在未满足的依赖项。 - **权限验证** 确认应用程序具有访问麦克风和扬声器所需的所有必要权限。可以在应用清单文件 (`AndroidManifest.xml`) 中声明如下权限: ```xml <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> ``` - **参数校准** 对于基于 ADC 实现的功能来说,精确设定增益范围至关重要。通过实验确定最佳数值组合后写入固件代码里保存下来供后续调用即可。 --- ### 示例代码:动态改变媒体音量水平 下面给出一段用于演示如何编程方式更改全局音乐播放响度等级的例子: ```java import android.media.AudioManager; public class VolumeController { private AudioManager mAudioMgr; public void adjustVolume(int direction){ mAudioMgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); if(direction > 0){ mAudioMgr.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); } else{ mAudioMgr.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); } } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MacLodge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值