Android系统修改
2017-10-11 11:26
120 查看
在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
默认输入法设置
frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
默认屏幕旋转方向
frameworks\base\packages\SettingsProvider\res\values
禁止屏幕旋转
frameworks\base\services\java\com\android\server\wm\WindowManagerService.java
屏幕密度
/system/build.prop
lcd_density值越大,同样分辨率图片显示越越小
接入电脑后显示的磁盘名称
system\vold\Fat.cpp
编译:*** mm system/vold
生成:bin\vold
系统默认时区和语言
方法一:out/target/product/***/system/build.prop
机器型号
out/target/product/***/system/build.prop
设置中Location的默认定位精确度
system/build.prop:
修改导航栏是否可移动
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
相关文章推荐
- Android系统如何修改默认打开程序
- VC修改文件时间属性(修改/访问时间)
- myBatis批量添加,修改和删除
- DXP设计PCB过程中批量修改元件符号大小的方法
- HTML5手机应用的最大优势就是可以在网页上直接调试和修改
- NEC集团电话修改号码设置
- windows7系统修改IP具体步骤
- 如何利用VB.NET修改系统时间
- Tomcat设置虚拟目录的方法, 不修改server.xml
- 修改openstack的默认quota配额
- Mysql 创建,授权,删除,修改用户
- 【codevs1082】【树状数组】 区间修改 区间查询
- 织梦DedeCms文章上一篇、下一篇修改
- 修改XCode默认工程为使用Xib
- 【转】如何修改win7用户文件夹的位置
- 修改IE快捷方式的相关参数
- MTK的铃声修改与替换
- win7修改驱动inf,驱动非官方美加狮XBOX360手柄
- git单独针对一个仓库实现子目录提交修改
- 解决docker容器中文乱码,修改docker容器编码格式