当前位置:   article > 正文

Android 系统默认参数的修改之系列(一)_android 自动更新参数变成默认的

android 自动更新参数变成默认的

一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置,通常这些属性都是通过build.prop、settings.db 、default.xml、一些功能package下的 config.xml 等来进行初始化配置的。

那么,要满足客户的定制需求,对于我们开发者来说,修改SettingsProvider默认值,而第一次开机时,用来填充settings.db的数据都是从frameworks/base/packages/SettingsProvider/res/values/defaults.xml 这个文件来读取的。所以大部分的系统属性都是通过修改此处的xml节点来修改的。当然有一些属性是在device下的project.mk中去修改使其编译时添加到build.prop中去。

接下来,我将从我所参与过的项目中,去一点点的记录需要修改的属性都怎么设置。


对于Android手机ODM界的朋友,通读这篇文章后,基本上能完成项目前期70%的适配工作(如果是做MTK平台的话,那更好,可以用来控制的宏变量更加丰富)。


1. 去掉“亮度”中的自动调节

第一步、修改frameworks/base/core/res/res/values/config.xml中的

false

第二步、在Marvell1908平台中,没有根据此property来确定“自动”按钮的显示还是隐藏,所以还需在SystemUI中动态确定该CheckBox的显示与否:

BrightnessController.java中添加如下方法

    private void updateAutomaticButton(boolean automatic) {

        android.util.Log.d(TAG, Automatic button aviliable: automatic);

        if(null != mControl) {

            mControl.setAutomaticAvailable(automatic);

        }

    }

在updateMode()中调用该方法:

private void updateMode() {

// … 

else {

            mControl.setChecked(false);

            updateIcon(false );

   }

updateAutomaticButton(mAutomaticAvailable);

}

在ToggleSlider.java中添加接口:

    public void setAutomaticAvailable(boolean autoBrightness) {

        if(null != mToggle) {

            //mToggle.setWidth(autoBrightness 48: 0);

            mToggle.getLayoutParams().width autoBrightness 48: 0;

            mToggle.setOnCheckedChangeListener(autoBrightness this null);

        }

    }

Tip:

不支持光感设备去掉“自动调节亮度”需要考虑 桌面小部件、下拉状态栏、亮度调节Dialog以及第三方apk这四个方面的Icon的显示问题。如果修改boolean property还不能达到效果,就需要考虑第二步。

2. 修改“亮度”的最值、默认值、半暗值

修改frameworks/base/core/res/res/values/config.xml中的

10

255

102

10

3. 修改开机时的默认亮度

修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml中的   

    51

4. 修改开关机铃声

开关机动画相关所在路径是在frameworks/base/cmds/bootanimation/中去操作的(不同平台略有不同);

Android设备的铃声资源都是在frameworks/base/data/sounds中

 

Marvell 平台是在frameworks/base/cmds/bootanimation/BootAudio.cpp

#define USER_BOOTMUSIC_FILE "/data/local/bootupmusic.mp3"

#define SYSTEM_BOOTMUSIC_FILE "/system/media/bootupmusic.mp3"

 

#define USER_SHUTDOWNMUSIC_FILE "/data/local/shutdownmusic.mp3"

#define SYSTEM_SHUTDOWNMUSIC_FILE "/system/media/shutdownmusic.mp3"

用需要替换的开关机铃声overlay 对应的文件 /system/media/bootupmusic.mp3 和 /system/media/shutdownmusic.mp3 即可,注意资源名称要一致,改为对应的bootupmusic.mp3 或者 shutdownmusic.mp3

Qualcomm平台是在frameworks/base/cmds/bootanimation/ bootanimation_main.cpp中

void BootAnimation::playBackgroundMusic(void)

{

    char bootAudioFile[] "/system/media/boot.wav";

   char shutdownAudioFile[] "/system/media/shutdown.wav";

// … 

}

需要将替换的资源overlay下boot.wav shutdown.wav 注意名称一致,格式也必须一致。或者直接修改这里的cpp代码。

5. 修改Android默认壁纸

Overlay掉frameworks/base/core/res/res/drawable-nodpi/ default_wallpaper.jpg即可

6. 编译版本时不生成odex

一般odex化是在4.0以后的版本中有的功能,odex化可以使系统的启动和程序运行速度大大提高,稳定性不变。但是编译时生成odex包会大大增加system.img的体积,不利于ota升级,t卡升级,所以在编译时可以去odex。

需要在.mk文件中添加属性:

#remove odex

DISABLE_DEXPREOPT:=true

7. 修改默认来电铃声、通知铃声

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/657201
推荐阅读
相关标签
  

闽ICP备14008679号