Android系统修改

在Android系统定制过程中,经常需要修改一些属性、功能,重新定制一些系统应用,下面记录一些基于4.4.2版本源码修改过的问题,以备忘。

修改导航栏是否可移动

framework\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java

setInitialDisplaySize()中

mNavigationBarCanMove = shortSizeDp < 600 // 在最小分辨率是600dp时可以移动


导航栏宽度和高度

frameworks\base\core\res\res\values\dimens

<dimen name="navigation_bar_height">600dp</dimen>
<dimen name="navigation_bar_width">76dp</dimen>


默认输入法设置

frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java

final String DEFAULT_IME_ID = "com.android.inputmethod.pinyin/.PinyinIME"; //Google输入
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.default_input_method ); 
frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<string name="def_input_methods">com.baidu.input/.ImeService</string><!--百度输入法-->

默认屏幕旋转方向

frameworks\base\packages\SettingsProvider\res\values

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

禁止屏幕旋转

frameworks\base\services\java\com\android\server\wm\WindowManagerService.java

boolean updateOrientationFromAppTokensLocked(boolean inTransaction) {
    long ident = Binder.clearCallingIdentity();
    try {
        int req = getOrientationFromWindowsLocked();
        if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
            req = getOrientationFromAppTokensLocked();
        }
        req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;//禁止旋转,横屏设置
        if (req != mForcedAppOrientation) {
            mForcedAppOrientation = req;
            // send a message to Policy indicating orientation change to take
            // action like disabling/enabling sensors etc.,
            mPolicy.setCurrentOrientationLw(req);
            if (updateRotationUncheckedLocked(inTransaction)) {
                // changed
                return true;
            }
        }
        return false;
    } finally {
        Binder.restoreCallingIdentity(ident);
    }
}

屏幕密度

/system/build.prop
lcd_density值越大,同样分辨率图片显示越越小


接入电脑后显示的磁盘名称

system\vold\Fat.cpp
编译:*** mm system/vold
生成:bin\vold


系统默认时区和语言

方法一:out/target/product/***/system/build.prop

persist.sys.timezone=Asia/Shanghai
ro.product.locale.language=zh
ro.product.locale.region=CN
方法二:build/tools/buildinfo.sh
echo "persist.sys.language=zh"
echo "persist.sys.country=CN"
echo "persist.sys.localevar="
echo "persist.sys.timezone=Asia/Shanghai"
echo "ro.product.locale.language=zh"
echo "ro.product.locale.region=CN"


机器型号

out/target/product/***/system/build.prop

ro.product.model=h552c

设置中Location的默认定位精确度

system/build.prop:
ro.custom.gps.open=network,gps #高精确度
ro.custom.wifi.open=0
ro.custom.bt.open=0


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值