Android系统定制源码修改 - MTK平台
Android系统定制源码修改 - MTK平台
1.修改开机弹出欢迎使用SIM
MTK工程/mediatek/packages/apps/Stk1/src/com/android/stk/StkAppService.java
(\frameworks\base\packages\Keyguard\src\com\mediatek\keyguard\Telephony\KeyguardDialogManager.java)
case DISPLAY_TEXT:
省略...
//显示SIM卡信息
launchTextDialog(slotId);
break;
2.关闭通知栏通能
\frameworks\base\core\java\android\app\NotificationManager.java
/**
* Post a notification to be shown in the status bar. If a notification with
* the same id has already been posted by your application and has not yet been canceled, it
* will be replaced by the updated information.
*
* @param id An identifier for this notification unique within your
* application.
* @param notification A {@link Notification} object describing what to show the user. Must not
* be null.
*/
public void notify(int id, Notification notification)
{
boolean close=false;
if(close)
{
notify(null, id, notification);
}
}
3.MTK 开机LOGO
Android内核开机LOGO:logomediatek/custom/common/uboot/logo
Android系统开机logo:/mediatek/custom/common/lk/logo
logo_folder:定义在..\mediatek\config\XXXX\ProjectConfig.mk中 BOOT_LOGO=wsvganl
设置>显示:这里可以设置自动休眠超时时间。
当设置为30s时,到24s左右屏幕会先变暗,告知用户屏幕快熄灭了,6s以后才会真正熄屏。
现在需要去掉这个功能,在PowerManagerService里可以看到:
private int getScreenDimDurationLocked(int screenOffTimeout) {return Math.min(SCREEN_DIM_DURATION,(int)(screenOffTimeout * MAXIMUM_SCREEN_DIM_RATIO));}
30S是系统里最短的超时时间,也就是说其他screenOffTimeout乘以0.2是比6要大的,所以就不用考虑了。
要想去掉DIM这个Feature,直接把SCREEN_DIM_DURATION设为0,这样getScreenDimDurationLocked()的返回值也就是0,这样就不再有屏幕先变暗这个步骤了。
实测可行。
(取自:http://blog.csdn.net/zhoumushui/article/details/51443492)
5.调整Android的默认亮度
调整手机的默认亮度,我们只需要修改frameworks\base\packages\SettingsProvider\res\values\defaults.xml文件中的def_screen_brightness值。
如想把手机的默认亮度调整为90%,则
修改之前
<integer name="def_screen_brightness">102</integer>
修改之后
<integer name="def_screen_brightness">230</integer>
注意全亮是255。因此,255*90=29.5,对29.5取整就是230
<!-- Default screen brightness, from 0 to 255. 102 is 40%. -->屏蔽掉下拉通知栏和状态栏
6.屏蔽掉下拉通知栏和状态栏
..\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarView.java
@Overridepublic void addPanel(PanelView pv) {super.addPanel(pv);
// if (pv.getId() == R.id.notification_panel) {
// mNotificationPanel = pv;
// } else if (pv.getId() == R.id.settings_panel){
// mSettingsPanel = pv;
// }pv.setRubberbandingEnabled(!mFullWidthNotifications);}
7.默认配置
1.gps 默认是打开的,有些产品需要默认关闭,主要是为了省电。
修改:
/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
将:
<string name="def_location_providers_allowed" tanslatable="false">gps</string>
改为:
<string name="def_location_providers_allowed" tanslatable="false"></string>
2.修改系统默认时间。
修改
rtc-mt6573.h cust_rtc.h 这是四个文件,将里面的时间改为自己需要的时间。(这个是我在mtk6573的代码上看到这么修改的,具体在android原生态代码,我还没用看)
3.修改设备默认名字。
修改:
build/tools/buildinfo.sh 在这个文件里面修改,具体修改那些项,我就不在这了说了。
4.修改系统默认时区及默认语言
修改:
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"
5.修改屏幕默认休眠时间:
在frameworks/base/packages/SettingsProvider/res/values/default.xml
会看到下面的代码:
<integer name="def_screen_off_timeout">60000</integer>
数字的单位是毫秒,可以修改为 10分钟,15分钟,或30分钟。
6.默认关闭usb debug
在packages/apps/Provision/src/com/android/provision/DefaultActivity.java
在这个里面的oncreate方法里面添加:
Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0); /0代表关闭,1代表打开
7.mtk修改默认字体大小
在frameworks/base/core/java/android/content/res/Configuration.java
public void setToDefaults()里面的
fontScale = 1.10f; 1代表默认的大小,1.10f代表大,1.15代表超大
8.深度配置
SpecialCharSequenceMgr.java
launcher:className=" com.google.android.youtube.HomeActivity"
ro.config.alarm_alert= Alarm_Classic.ogg \
ro.config.ringtone= Elves.mid
ro.sys.def_font_scale = ?(值可以设置成如:100, 130)
PS:ro.sys.def_font_scale = 130,即fontScale = 1.3时,相应的字体大小为“大”。
Settings中系统的字体大小,在/packages/apps/Settings/res/values/arrays.xml 或者 values-sw600dp等文件中的
\frameworks\base\services\java\com\android\server\ConnectivityService.java public boolean getMobileDataEnabled() { enforceAccessPermission(); boolean retVal = Settings.Secure.getInt(mContext.getContentResolver(), // Settings.Secure.MOBILE_DATA, 1) == 1;//数据开关默认打开 Settings.Secure.MOBILE_DATA, 0) == 1; //add by boardcon 数据开关默认关闭 if (DBG) Slog.d(TAG, "getMobileDataEnabled returning " + retVal); return retVal; } mtk只需要修改make,MTK_DEFAULT_DATA_OFF=yes 34.分区修改 A 修改分区文件mediatek\build\tools\ptgen\partition_table.xls B 修改分区头文件mediatek\custom\project\common\partition_define.h 35. 默认照片修改,驱动层修改无效?原因未知
{
SharedPreferences.Editor editor = ComboPreferences
.get(context).edit();
editor.putString(KEY_PICTURE_SIZE, candidate);
editor.apply();
return;
} 37.版本号时间自动按时间生成方法 38. android 如何修改MTP在PC端显示的制造商信息
2.frameworks\av\media\mtp\MtpServer.cpp 的doGetDeviceInfo()
property_get("ro.product.manufacturer", prop_value, "unknown manufacturer"); string.set(prop_value); 修改此处的prop_value 39. 72 factory mode 字体变大问题
40. 72开关机动画
??? 41.修改按键唤醒配置 42. exif 43.默认动态壁纸 |
44. 第一次开机会走的文件(恢复出厂设置也会走)
packages/apps/Provision/src/com/android/provision/DefaultActivity.java
在这个里面的oncreate方法里面添加需要处理第一次开机配置
45.系统启动默认值修改
如果想修改系统启动后加载的默认值
修改SettingsProvider默认值,Settings能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的,那么第一次开机的时候这些数据都是从哪儿来的呢?
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
这个文件就是用来存储Android系统的默认设置
例如:
<integername="def_screen_off_timeout">600000</integer>设置关屏超时时间的默认值
<integername="def_screen_brightness">102</integer>设置亮度的默认值
<boolname="def_install_non_market_apps">false</bool>设置是否允许安装非Market应用程序的默认值
如果想定义defaults.xml中没有的,在这里添加后,需修改
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,加入自己的存储代码。
Android系统定制源码修改 - MTK平台相关推荐
- Android视频直播源码开发直播平台、点播播放器哪家强?
Android视频直播源码开发直播平台.点播播放器哪家强? 最近在项目中要加入视频直播和点播功能,那么问题来了,我需要一个播放器来播放视频流,那该如何选择呢?除了原生的VideoView(VideoV ...
- Android 系统(112)---Android系统读取 CPU温度(MTK平台)
Android系统读取 CPU温度(MTK平台) 一.[MTK 平台]读取温度命令 1.查看类型是否是 CPU adb shell "cat /sys/class/thermal/therm ...
- 安卓系统AOSP源码修改入门
先整理 后学习 再总结 编译 版本查询 设备代号 驱动下载 精简编译教程 索尼编译巨详细教程 源码阅读 anroid studio 导入aosp 源码 源码结构 源码修改 内置证书抓包 默认打开ADB ...
- Android系统读取 CPU温度(MTK平台)
一.[MTK 平台]读取温度命令 1.查看类型是否是 CPU adb shell "cat /sys/class/thermal/thermal_zone[编号]/type" 2. ...
- 信息安全实训系统php源码,实训平台
"知白网络安全演练系统"是由启明星辰为培养创新网络攻防对抗人才,跟踪网络空间攻防行为研究热点,孵化网络攻防高新项目,培养具有国际化视野的网络安全人才和实战专家而自主研发的一套全面. ...
- android gif快手 源码,Android-JNI开发系列《十一》实践-利用Android C源码实现GIF图片的播放...
人间观察 人往往都是多面性的,一个人的时候是一个样子,一群人的时候是另一个样子. 声明 此篇文章只为记录和学习JNI以及了解GIF的解码原理.借鉴了网上的有关gif文章介绍和代码.如果是自己学习,建议 ...
- Android源码修改(自动获取usb权限)基于Android5.1定制版系统
自动获取usb权限 这篇文章参考了这个得到的解决方案 http://blog.csdn.net/hubbybob1/article/details/50263925 这个博主已经写得很清楚啦,但是还有 ...
- android打开volte代码,Android8.1 源码修改之插入SIM卡默认启用Volte功能
前言 公用电话产品,插入SIM卡后要求自动打开Volte功能,即插即用,用完拔卡就走 实现 第一步 开关对应的代码 通过打印日志和全局查找,源码位置 vendor/mediatek/proprieta ...
- Android Dialer,Mms,Contacts源码修改笔记,移动端混合开发经验
②在AndroidManifest.xml中修改相应Activity的theme <activity android:name=".HomeActivity" android ...
最新文章
- 极致进化-敏捷进化型企业的未来畅想
- 《JAVA编程那点事儿》读书笔记(二)——类和对象
- morlet小波matlab代码,morlet小波matlab程序
- js实现php中sleep()延时的功能
- 现代浏览器的工作原理
- 如何获取网站icon
- 反射和内省_单例设计模式–内省和最佳实践
- java resultset 映射到实例_[Java]ResultSet的用法与实例
- 阿里巴巴飞天大数据架构体系与Hadoop生态系统
- Android 须知2019流行的框架库及开发语言
- MPEG文件中什么是GOP
- 动态更新 HTML 内容 —— AJAX
- 【find】Linux中find常见用法示例
- Python多进程与多线程编程
- android测试云模拟器,基于Android模拟器的调研
- # kubeadm ——k8S新节点加入集群-notready 问题解决
- Python之ARP协议探测MAC地址
- 台式计算机中的CPU指的是,电脑硬件认识之什么是电脑的CPU(cpu详细介绍)
- DELL笔记本BIOS密码破解
- 终于解决了hao123锁定主页的问题~