关键词:android 4.0默认语言蓝牙名称MTP名称默认时区关于平板电脑 内核版本号
平台信息:
内核:linux2.6/linux3.0
系统:android/android4.0
平台:S5PV310(samsungexynos4210)

1、开关机logo;

2、用户模式、工程模式;

3、更改默认语言;

5、更改蓝牙名称;

6、更MTP名称;

7、更改“关于平板电脑”中的信息;

8、更改默认时区;

………………

以三星平台为基础,如果是其它平台,只做参考

下面只是一些做订单时候经常要改动的地方,没什么技术含量,不过我觉得这一部分也比较重要,研发出来的东西,卖出去换回钱,才是到我们最大的回报。这一部分会持续更新,指不定一个“极品”的客户要更改什么不靠谱的东西,记录下来,节省大家的时间,知道在那个地方改就行了。

1、开关机logo

现在好多公司就是个皮包公司,自己不做研发,在外面买,开机画面要做成他们特有的,所以这一点在工作中用的也是比较多的。中国的产品,那叫“泛滥”呀。

这篇文章中对logo有详细描述:android logo:内核、android开机动画

2、用户模式、工程模式

产品出去的时候,要用用户模式,这时串口终端是不能操作的,只能显示。三星平台有一个问题就是,在工程模式下,如果系统有点卡,会有一个红色的边框出现,这个问题我们老大叫它“BUG”,这个没法跟他去理论,总之不应该出现的东西都是BUG,那就转换成user模式,把这个问题解了。

这篇文章中有关于usr eng的描述:android 4.0 编译模式 eng -- > user 时遇到的问题

3、更改默认语言

做产品服务要周道,不能出到别的国家的东西,一开机会是中文的,那就有点不太友好了,英文好多地方可以接受,可是现在中文还是没有那么广泛应用的。其实android默认是En的,我们内单的就是改过来的。下面看我们怎么把默认的英文改成中文,为没过“CET4”的同学服务。

android/device/samsung/smdk4x12/full_smdk4x12.mk

[html] view plain copy
  1. PRODUCT_LOCALES:=zh_CN\
  2. en_US\
  3. zh_TW\
  4. en_GB\
  5. fr_FR\
  6. it_IT\
  7. cs_CZ\
  8. de_DE\
  9. da_DK\
  10. el_GR\

用那个语言,把它放到早前面,就可以,如:

zh_CN:中文简体

zh_TW:中文繁体

en_US:英文(美国)

这篇文章中有对应的 语言地区Android 地区语言和简写对照表

android 量产软件改动信息(持续更新)_第1张图片

5、更改蓝牙名称

android/external/bluetooth/bluez/src/main.c

[cpp] view plain copy
  1. staticvoidinit_defaults(void)
  2. {
  3. /*DefaultHCIdsettings*/
  4. memset(&main_opts,0,sizeof(main_opts));
  5. main_opts.mode=MODE_CONNECTABLE;
  6. main_opts.name=g_strdup("W42");//更改这里的名称
  7. main_opts.discovto=DEFAULT_DISCOVERABLE_TIMEOUT;
  8. main_opts.remember_powered=TRUE;
  9. main_opts.reverse_sdp=TRUE;
  10. main_opts.name_resolv=TRUE;
  11. main_opts.link_mode=HCI_LM_ACCEPT;
  12. main_opts.link_policy=HCI_LP_RSWITCH|HCI_LP_SNIFF|
  13. HCI_LP_HOLD|HCI_LP_PARK;
  14. if(gethostname(main_opts.host_name,sizeof(main_opts.host_name)-1)<0)
  15. strcpy(main_opts.host_name,"noname");
  16. }
android 量产软件改动信息(持续更新)_第2张图片

6、更MTP名称

android/system/vold/Volume.cpp

[cpp] view plain copy
  1. intVolume::formatVol(){
  2. if(getState()==Volume::State_NoMedia){
  3. errno=ENODEV;
  4. return-1;
  5. }elseif(getState()!=Volume::State_Idle){
  6. errno=EBUSY;
  7. return-1;
  8. }
  9. if(isMountpointMounted(getMountpoint())){
  10. SLOGW("Volumeisidlebutappearstobemounted-fixing");
  11. setState(Volume::State_Mounted);
  12. //mCurrentlyMountedKdev=XXX
  13. errno=EBUSY;
  14. return-1;
  15. }
  16. boolformatEntireDevice=(mPartIdx==-1);
  17. chardevicePath[255];
  18. char*label=NULL;
  19. dev_tdiskNode=getDiskDevice();
  20. dev_tpartNode=MKDEV(MAJOR(diskNode),(formatEntireDevice?1:mPartIdx));
  21. setState(Volume::State_Formatting);
  22. intret=-1;
  23. //OnlyinitializetheMBRifweareformattingtheentiredevice
  24. if(formatEntireDevice){
  25. sprintf(devicePath,"/dev/block/vold/%d:%d",
  26. MAJOR(diskNode),MINOR(diskNode));
  27. if(initializeMbr(devicePath)){
  28. SLOGE("FailedtoinitializeMBR(%s)",strerror(errno));
  29. gotoerr;
  30. }
  31. }
  32. sprintf(devicePath,"/dev/block/vold/%d:%d",
  33. MAJOR(partNode),MINOR(partNode));
  34. if(mDebug){
  35. SLOGI("Formattingvolume%s(%s)",getLabel(),devicePath);
  36. }
  37. label="W42";//更改这个名称
  38. if(Fat::format(devicePath,0,label)){
  39. SLOGE("Failedtoformat(%s)",strerror(errno));
  40. gotoerr;
  41. }
  42. ret=0;
  43. err:
  44. setState(Volume::State_Idle);
  45. returnret;
  46. }

7、更改“关于平板电脑”中的信息

(1)、型号

android/device/samsung/smdk4x12/full_smdk4x12.mk

[html] view plain copy
  1. PRODUCT_MANUFACTURER:=full_smdk4x12
  2. PRODUCT_BRAND:=full_smdk4x12
  3. PRODUCT_MODEL:=W42(QuadCore)

(2)、内核版本

这个有点不太好找,一个同事跟我说的,内核路径为:

kernel/scripts/mkcompile_h

[html] view plain copy
  1. #Generateatemporarycompile.h
  2. (echo/\*Thisfileisautogenerated,version$VERSION\*/
  3. if[-n"$CONFIG_FLAGS"];thenecho"/*$CONFIG_FLAGS*/";fi
  4. echo\#defineUTS_MACHINE\"$ARCH\"
  5. echo\#defineUTS_VERSION\"`echo$UTS_VERSION|$UTS_TRUNCATE`\"
  6. echo\#defineLINUX_COMPILE_BY\"`echo$LINUX_COMPILE_BY|$UTS_TRUNCATE`\"//更改者两个echo的值
  7. echo\#defineLINUX_COMPILE_HOST\"`echo$LINUX_COMPILE_HOST|$UTS_TRUNCATE`\"
  8. echo\#defineLINUX_COMPILER\"`$CC-v2>&1|tail-n1`\"
  9. )>.tmpcompile

(3)、版本号

android/out/target/product/w42/system/build.prop

[html] view plain copy
  1. ro.build.display.id=w42.eng.tim.20121224.093047
  2. ro.build.version.incremental=eng.tim.20121224.093047

其实在build.prop目录中有许多,关于系统的信息,有兴趣的话可以看下。

android 量产软件改动信息(持续更新)_第3张图片

8、更改默认时区

除的语言外,外单产品默认时区也要改动。找到相应的system.prop,加入下面语句。

android/device/samsung/smdk4x12/system.prop

[html] view plain copy
  1. #defaulttimezone
  2. persist.sys.timezone=Asia/Shanghai
android 量产软件改动信息(持续更新)_第4张图片


9、在桌面放一图标,点击链接到一指定网址

10、把应用程序的图标默认放到桌面

更多相关文章

  1. C语言函数以及函数的使用
  2. android设置系统语言,字体大小,字体样式导致widget控件失效
  3. Android中Activity四种启动模式详解
  4. Android启动模式之singleTask解析
  5. Android Activity的4种启动模式详解(示例)
  6. Android:Activity(五):Activity加载模式

随机推荐

  1. Android(安卓)webview
  2. Android系统上部署usb打印机
  3. android HAL 详解
  4. ANDROID音频系统散记之二:resample-1
  5. Android中MVP模式
  6. Android(安卓)学习笔记(4)—— ToggleButto
  7. AndroidX介绍及项目迁移
  8. Android(安卓)P 中的网络安全配置指南 ne
  9. 离线配置Android开发环境
  10. FusionCharts报表在Android上的实现