Android系统定制源码修改
来源:互联网 发布:linux 网站密码破解 编辑:程序博客网 时间:2024/05/21 22:24
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
@Override public 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"></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
packages\apps\Camera\src\com\android\camera\CameraSetting.java
initialCameraPictureSize 函数中
修改为
if(candidate.equals("640x480"))
36.logo
mediatek\custom\common\uboot\logo\
37.版本号时间自动按时间生成方法
echo "ro.custom.build.version=P730-G-tab-4G-`date +%Y%m%d-%H:%M`"
38. android 如何修改MTP在PC端显示的制造商信息
1. 修改build/tools/buildinfo.sh中的 ro.product.manufacturer
property_get("ro.product.manufacturer", prop_value, "unknown manufacturer");
string.set(prop_value);
39. 72 factory mode 字体变大问题
此现象只在6572平板项目中,非平板是正常的。。
修改了font.mk中
ifeq ($(LCM_WIDTH),800)
LOCAL_CFLAGS += -DFEATURE_FTM_FONT_24x44
改成
LOCAL_CFLAGS += -DFEATURE_FTM_FONT_16x28
即可,如果想方便平板和非平板的维护,加个平板控制宏就好
40. 72开关机动画
mediatek/operator/OP02/prebuilt/bootanim/bootanimation
???
41.修改按键唤醒配置mediatek/config/m709/mtk-kpd.kl
42. exif
照片信息里面加入的头文件信息
extractExifInfo
43.默认动态壁纸
framework/base/core/res/res/values/config.xml
原来:
<string name="default_wallpaper_component">@null</string>
现在:
<string name="default_wallpaper_component" translatable="false">com.android.wallpaper/com.android.wallpaper.grass.GrassWallpaper</string>
如:
com.android.wallpaper 在 AndroidManifest 文件中的 packagename,
com.android.wallpaper.grass.GrassWallpaper 在 AndroidManifest 文件中的 service name
需要注意的是:静态的图片壁纸和动态壁纸是两个不同的系统,加载的时候是完全两套机制,
静态图片通过 launcher 里面的一个 xml 文件配置来管理系统默认静态壁纸,
动态壁纸则是通过 intent 机制向系统搜寻所有匹配 Activity,
所以,这里的默认值为 null,而不是那个系统默认静态壁纸的地址,系统是读 config.xml 文件的设置。
若为 null 才继续查找静态壁纸配置内容。设置之后没有效果的话,恢复下出厂设置即可。
另外将需要用到第三方动态壁纸,提前预置到sytem/app中;
44. 第一次开机会走的文件(恢复出厂设置也会走)
packages/apps/Provision/src/com/android/provision/DefaultActivity.java
在这个里面的oncreate方法里面添加需要处理第一次开机配置
45.系统启动默认值修改
如果想修改系统启动后加载的默认值
- Android系统定制源码修改
- Android系统framework默认值修改(系统定制)
- Android系统定制之源码完美下载
- Android系统定制之源码完美下载
- Android系统定制之源码完美下载
- Android系统定制之源码完美下载
- Android源码下的系统定制
- Android系统定制和源码开发以及源码编译
- Android系统定制和源码开发以及源码编译
- Android源码中修改默认语言 及 定制多语言
- Android源码中修改默认语言 及 定制多语言
- Android源码中修改默认语言 及 定制多语言
- Android系统定制, Android 4.2源码的下载和编译
- Android沙盒开发之系统libc库定制修改
- Android客户定制修改
- Android 定制化修改
- Android系统定制之源码完美下载(一)
- Android系统定制之源码完美下载(一)
- jvm原理
- 串行和并行与异步和同步的思考
- 629. K Inverse Pairs Array 自制答案
- HTML/CSS快速入门与提高
- 组合数【模板】
- Android系统定制源码修改
- ubuntu循环登录 login loop Nvidia GPU GTX CUDA
- 0/1背包问题
- Mysql的二进制日志binlog的模式
- 我理解的多态
- Redis常用配置
- openSUSE通过snapper恢复系统
- POJ 3187 Backward Digit Sums
- Java集合基础篇(3)-HashSet基本用法