MTK修改记录

1.机器型号,机器盘符的修改位置
alps/build/tools/buildinfo.sh 编译后会在alps/out/target/product/s88m/system/build.prop下生成。
2.蓝牙名称修改位置
alps/device/mediatek/common/custom.conf。
3.Build Number的修改位置
alps/build/tools/buildinfo.sh的echo “ro.build.display.id=$BUILD_DISPLAY_ID”
4.开机logo的修改位置
alps/vendor/mediatek/proprietary/booktable/bootloader/lk/dev/logo/wsvga/的wsvga_uboot.bmp(第一屏),wsvga_kernel.bmp(第二屏)。怎么寻到这个位置的,根据alps/vendor/mediatek/proprietary/bootable/bootloader/lk/project/s88m.mk下的BOOT_LOGO := wsvga。
5.APN配置修改
alps/device/mediatek/common/appns-conf.xml。
6.Single-SIM(单卡)
alps/device/discovery/s102m/ProjectConfig.xml
[Triple SIM]:
CUSTOM_MODEM = mt8735_sp_lwg_tsts
GEMINI=yes
MTK_GEMINI_ENHANCEMENT=yes
MTK_DT_SUPPORT=no
MTK_SHARE_MODEM_SUPPORT=3
MTK_SHARE_MODEM_CURRENT=3
MTK_GEMINI_3SIM_SUPPORT=yes
[Dual SIM]:
CUSTOM_MODEM = mtk6735_65t_m_lwg_dsds
GEMINI=yes
MTK_GEMINI_ENHANCEMENT=yes
MTK_DT_SUPPORT=no
MTK_SHARE_MODEM_SUPPORT=2
MTK_SHARE_MODEM_CURRENT=2
MTK_GEMINI_3SIM_SUPPORT=no
[Single SIM]:
CUSTOM_MODEM = mtk6735_65t_m_lwg_dsds
GEMINI=no
MTK_GEMINI_ENHANCEMENT=no
MTK_DT_SUPPORT=no
MTK_SHARE_MODEM_SUPPORT=2
MTK_SHARE_MODEM_CURRENT=1
MTK_GEMINI_3SIM_SUPPORT=no

7.alps/device/discovery/s102m/ProjectConfig.xml/下CUSTOM_MODEM = s102_FAJUE8735_TB_M_3G18_4G13720。

8.屏修改
alps/kernel-3.18/arch/arm64/configs/s102m_debug_defconfig
alps/kernel-3.18/arch/arm64/configs/s102m_defconfig
CONFIG_CUSTOM_KERNEL_LCM修改

9.8321平台
1.预置动画/铃声
alps/vendor/mediatek/proprietary/custom/t10q/system/media
alps/vendor/mediatek/proprietary/custom/t10q/system/app/app.mk

2.gms包app增减
alps/devices/discovory/t10q/gms.mk

3.配modern
alps/device/discovery/t10q/ProjectConfig.mk

4.增删apk
alps/device/mediatek/mt6580/device.mk

5.图标大小
android_src\frameworks\base\core\res\res\values\Dimens.xml中有个 app_icon_size

6.默认壁纸修改
8783_6.0/device/discovery/m104/overlay/frameworks/base/core/res/res/drawable-

7.短信默认铃声
在alps/device/discovery/m104/device.mk添加如下内容
PRODUCT_PROPERTY_OVERRIDES := \
ro.com.android.dateformat=MM-dd-yyyy \
ro.config.ringtone=Ring_Synth_04.ogg \
ro.config.notification_sound=SMS_1.mp3 \
ro.config.alarm_alert=Alarm_Classic.ogg

ro.config.ringtone 默认铃声
ro.config.notification_sound 默认提示音
ro.config.alarm_alert 默认闹铃

8.sound&notification下的general下的vibrate等默认开启关闭修改
frameworks/base/media/java/com/mediatek/audioprofile/AudioProfileManager

9.settings->Display->sleep的默认休眠时间修改
framaworks/base/packages/SettingsProvider/res/values
30000

10 wifi direct默认名称修改
frameworks/opt/net/wifi/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java的WifiP2pServiceImpl()方法。

11 email签名
packages/apps/Email/provider_src/com/android/email/activity/setup/AccountSettingsUtils.java的

12device/discovery/t10q/android.hardware.telephony.gsm.xml

13音量修改
frameworks/base/media/java/android/media/AudioSystem.java
闹钟,来电音量修改
frameworks/base/media/java/com/mediatek/audioprofile/AudioProfileManager.java
音量的最大值设置
frameworks/base/services/core/java/com/android/server/audio/AudioService.java

14语言添加
device/discovery/m104/full_m104.mk

15 照相机的制造商,机型修改
package/apps/Gallery2/src/com/android/gallery3d/data/MediaDetails.java下的setExifData()

16去掉关机动画
device/discovery/m104/system.prop下的去掉ro.operator.optr=CUST

17如何将带源码的APK预置进系统?
1)在packages/app下面以需要预置的APK的 名字创建一个新文件夹,以预置一个名为Test的APK为例
2)将Test APK的Source code拷贝到Test文件夹下,删除/bin和/gen目录
3)在Test目录下创建一个名为Android.mk的文件,内容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := Test
include $(BUILD_PACKAGE)
4)打开文件device\mediatek\common\device.mk
将Test添加到PRODUCT_PACKAGES里面。
PRODUCT_PACKAGES += Test
5)重新build整个工程

18修改默认输入法
DatabaseHelper.java

private static final String defaultEnableInputMethods = “com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME:com.google.android.apps.inputmethod.hindi/.HindiInputMethodService”;
loadSecureSettings(SQLiteDatabase db)方法添加如下内容
loadSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,defaultEnableInputMethods); //enabled

loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,defaultEnableInputMethods);//默认输入法

19 LOCAL_PRIVILEGED_MODULE := true

20.时区修改time_zones_by_country

21.单双卡配置
[Dual SIM]:
CUSTOM_MODEM = mtk6735_65t_m_lwg_dsds
GEMINI=yes
MTK_GEMINI_ENHANCEMENT=yes
MTK_DT_SUPPORT=no
MTK_SHARE_MODEM_SUPPORT=2
MTK_SHARE_MODEM_CURRENT=2
MTK_GEMINI_3SIM_SUPPORT=no
[Single SIM]:
CUSTOM_MODEM = mtk6735_65t_m_lwg_dsds
GEMINI=no
MTK_GEMINI_ENHANCEMENT=no
MTK_DT_SUPPORT=no
MTK_SHARE_MODEM_SUPPORT=2
MTK_SHARE_MODEM_CURRENT=1
MTK_GEMINI_3SIM_SUPPORT=no

22 频率
vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/JD9364_HUAZHENG/JD9364_HUAZHENG.c的params->dsi.PLL_CLOCK

kernel-3.18/drivers/misc/mediatek/lcm/JD9364_HUAZHENG/JD9364_HUAZHENG.c的params->dsi.PLL_CLOCK

23 cts测试注意事项
把failed的数改成notExcuted的数,notExcuted的数改成failed的数。
result="fail"替换为result=“notExecuted”

24屏修改位置
/vendor/mediatek/proprietary/bootable/bootloader/lk/project/m104.mk
/kernel-3.18/arch/arm64/configs/m104_defconfig
/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/JD9365BC_IPS_BODA

26 音量的最大值修改
vendor/mediatek/proprietary/custom/m104/cgen/cfgdefault/audio_ver1_volume_custom_default

27 屏幕亮度的最大值修改
/frameworks/base/core/res/res/values/config.xml的config_screenBrightnessSettingMaximum

28 mtklog:##3646633##

29新建项目:./mk_project_64.sh add m107

30.system.prop文件目录/device/discovery/m104/system.prop

31.SD卡槽软件屏蔽其正常功能
修改的位置
把/kernel-3.18/arch/arm64/boot/dts/mt6735.dtsi的compatible = "mediatek,mt6735-mmc注释掉

32.USB接口软件屏蔽其正常功能
(1)USB充电功能去掉
/kernel-3.18/drivers/misc/mediatek/usb20/mt6735/usb20.c的bool mt_usb_is_device(void)函数返回为false
(2)OTG去掉
/kernel-3.18/arch/arm64/configs/m104_defconfig的CONFIG_USB_MTK_OTG=yes的yes去掉

33.默认墙纸修改
/device/discovery/m104/overlay/frameworks/base/core/res/res/drawable-sw720dp-nodpi
/device/discovery/m104/overlay/frameworks/base/core/res/res/drawable-sw600dp-nodpi

/device/mediatek/common/overlay/tablet/frameworks/base/core/res/res/drawable-sw600dp-nodpi

34.去掉安全模式
/frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java中的detectSafeMode()方法把 mSafeMode = menuState > 0 || sState > 0 || dpadState > 0 || trackballState > 0 || volumeDownState > 0;这一行设置为 mSafeMode=false

35.system的内存修改
/device/mediatek/build/build/tools/ptgen/MT6735M

/device/discovery/m107/BoardConfig.mk的BOARD_MTK_SYSTEM_SIZE_KB :=

36 DDR修改
vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/m104/inc/custom_MemoryDevice.h
vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/emigen/MT6735

37.git checkout -b 新分支名 老分支名(这种写法的意思为基于老分支创建新的分支)

38.配置文件
/kernel-3.18/arch/arm64/configs/m107_defconfig

39.电池曲线修改
/8735_6.0/kernel-3.18/arch/arm64/boot/dts/m107_bat_setting.dtsi

40.git命令使用
1)git config --global user.name “Your Name”
2)git config --global user.email “Your Email”
3)git init 用于初始化当前所在目录的项目
4)创建.gitignore文件,提交时会忽略该文件里面的项目文件
5)git status 查看项目状态
6)git add .或者git add -A添加修改过的文件
7)git commit -m "Message"提交
8)git branch查看当前所在分支
9)git checkout切换分支
10)git branch 分支名 :在branch下新建分支
11)git checkout -b 新分支名 分支名:在分支下创建子分支,并切换到子分支。
12)git log得到commit历史
13)git checkout 历史序列号 文件名 :还原文件到历史版本
14) git reset –hard 回退到历史版本
15)git show commit --name-only查看某次commit修改了那些文件
41.M版make -j8命令编译经常卡死或者编译报ERROR: Cannot launch Jack server错误的解决办法

在命令终端输入cat .jack

Server settings
SERVER=true
SERVER_PORT_SERVICE=8072
SERVER_PORT_ADMIN=8073
SERVER_COUNT=1
SERVER_NB_COMPILE=4
SERVER_TIMEOUT=60
SERVER_LOG=KaTeX parse error: Expected '}', got 'EOF' at end of input: {SERVER_LOG:=SERVER_DIR/jack-KaTeX parse error: Expected 'EOF', got '}' at position 24: …ORT_SERVICE.log}̲ JACK_VM_COMMA…{JACK_VM_COMMAND:=java}

Internal, do not touch
SETTING_VERSION=2

把SERVER=true 改成SERVER=false

42.编译突然莫名奇妙出现错误make: *** [out/target/common/obj/APPS/Phone_intermediates/classes-full-debug.jar] error 41
只需输入以下的命令即可:
$ make clobber (删除所有配置所编译输出的结果文件)
$ make

43.重力感应方向修改
kernel-3.18/arch/arm64/boot/dts/m104.dts

44.摄像头的颜色调整
kernel3.18/drivers/misc/mediatek/imgsensor/src/mt6735/camera_project/m107/gc2355_mipi_raw_1lane/gc2355mipi_Sensor.c中修改字符SENSOR_OUTPUT_FORMAT_RAW_Gb中”Gb“可改为”G“,”R“,“Gr”

45.摄像头方向调整sensor 安装角度
vendor/mediatek/proprietary/custom/mt6735/hal/D1/imgsensor_metadata/gc2355_mipi_raw/config_static_metadata.sensor.gc2355mipiraw.h

vendor/mediatek/proprietary/custom/mt6735/hal/D1/imgsensor_metadata/gc2355_mipi_raw/config_static_metadata.project.camera.gc2355mipiraw.h

vendor/mediatek/proprietary/custom/m107/hal/imgsensor_metadata/common/config_static_metadata_common.h
vendor/mediatek/proprietary/custom/mt6735/hal/D1/imgsensor_metadata/common/config_static_metadata_common.h

46.TP校正
kernel3.18/drivers/misc/mediatek/mach/mt6735/m107/touchpanel/GT9XXTB_hotknot/tpd_custom_gt9xx.h

47.摄像头方向180度调整
后摄修改:
kernel3.18/drivers/misc/mediatek/imgsensor/src/mt6735/camera_project/m107/hm5040_mipi_raw/hm5040mipiraw_Sensor.h

write_cmos_sensor(0x0101,0x03);//flip+mirror
.sensor_output_dataformat = SENSOR_OUTPUT_FORMAT_RAW_Gb

前摄修改:
kernel3.18/drivers/misc/mediatek/imgsensor/src/mt6735/camera_project/m107/gc2355_mipi_raw_1lane/gc2355mipi_Sensor.c

write_cmos_sensor(0x17,0x17);//14

48.LCM的rotation修改
MTK_LCM_PHYSICAL_ROTATION
vendor/mediatek/proprietary/bootable/bootloader/lk/project/m107.mk
kernel-3.18/arch/arm64/configs/m107_defconfig
device/discovery/m107/ProjectConfig.mk

49.设置jdk环境变量
sudo gedit ~/.profile
sudo gedit ~/.bashrc
手动切换jdk
sudo update-alternatives --config java

50.修改喇叭左右声道串音的问题
vendor/mediatek/proprietary/custom/m107/hal/audioflinger/audio/Audio_Customization_Common.h的#define ENABLE_STEREO_SPEAKER

51.查找亮度值
cd /sys/class/leds/lcd-backlight/brightness

52.删out下的logo
out/target/product/m104/obj/BOOTLOADER_OBJ/build-m104/dev/logo
out/target/product/m104/logo.bin

53.工厂模式 ##34685##
54.mtklog:##3646633##

55.报错Unfortunately,the process android.process.acore has stopped
把out下的UserDictionaryProvider.apk删掉重编译

56.下载的所有应用默认保存到sd卡
修改/frameworks/base/data/etc/platform.xml 添加WRITE_EXTERNAL_STORAGE media_rw

57.android 4.2 camera驱动添加
添加 mediatek\custom\common\kernel\imgsensor
添加mediatek\custom\common\kernel\imgsensor/src/kd_sensorlist.h
添加mediatek\custom\common\kernel\imgsensor/inc/kd_imgsensor.h
添加 mediatek\custom\common\hal\imgsensor
添加mediatek\custom\common\hal\imgsensor/src/sensorlist.cpp
添加mediatek/config/s301_nand_hvga/ProjectConfig.mk
添加mediatek/custom/s301_nand_hvga/kernel/camera/camera/kd_camera_hw.c
如果前后摄camera相同,设置cameraid需要在mediatek/custom/common/kernel/imgsensor/gc032b_yuv/gc032byuv_Sensor.c的UINT32 GC032BGetSensorID(UINT32 *sensorID)的sensorID=((GC032B_read_cmos_sensor(0xf0)<< 8)|GC032B_read_cmos_sensor(0xf1))后+1;

58.禁止所有apk安装
frameworks/base/services/core/java/com/android/server/pm/PackageManagerServie.java的copyApk注释掉
或者注释掉installPackageAsUser();

59.SystemUI的通知列表修改
ActivatableNotificationView.java
ExpandableNotificationRow.java

60.禁止下拉状态栏滑动
修改StatusbarWindowView.java的onInterceptTouchEvent() return intercept修改为return true

一、Ubuntu下Android编译环境搭建
ubuntu 经典桌面
sudo apt-get install gnome-session-fallback

右键终端
sudo apt-get install nautilus-open-terminal

root登陆
转载于:http://blog.csdn.net/yimiyangguang1314/article/details/7534911
ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,
普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式.
然后执行: gedit /etc/lightdm/lightdm.conf. 修改配置文件
[SeatDefaults]
allow-guest=false
autologin-user=root
autologin-user-timeout=0
autologin-session=lightdm-autologin
user-session=ubuntu
greeter-session=unity-greeter

然后我们启动root帐号:
sudo passwd root
根据提示输入roott帐号密码。

重启ubuntu,不需要手动输入root用户名密码,系统会自动进入root用户。

补充:gedit /etc/lightdm/lightdm.conf
user-session=ubuntu —> user-session=gnome-classic

修改后,系统将默认登录到gnome classic界面,如果不需要特效则是gnome-fallback,对应登录窗口的选项gnome classic(no effects)

1.更新源

sudo apt-get update

安装必要的软件环境
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl libncurses5-dev zlib1g-dev ibsdl1.2-dev libc6-dev-i386 g+±multilib lib32z1-dev lib32ncurses5-dev libx11-dev libxml2-utils git-core gnupg libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev lib32z-dev libgl1-mesa-dev g+±multilib mingw32 tofrodos liblzo2-dev uuid-dev lib32readline-gplv2-dev gcc-4.4 g+±4.4 make xsltproc wine
gawk

rm /usr/bin/gcc

ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

rm /usr/bin/g++

ln -s /usr/bin/g+±4.4 /usr/bin/g++

安装 sun-java6-jdk
在 tools 下找到 jdk-6u18-linux-i586.bin 文件; 开启终端,到想要安装的目录下运

$ ./jdk-6u18-linux-i586.bin(运行时注意 jdk-6u18-linux-i586.bin 的实际路径)
进行安装 ;

设置环境变量
$ vim ~/.profile

在.profile 文件的最后新增或添加变量,如下:

JAVA_HOME=/home/infotm/infodroid_release/jdk1.6.0_18

JRE_HOME=$JAVA_HOME/jre

export ANDROID_JAVA_HOME=$JAVA_HOME

export CLASSPATH=.:JAVAHOME/lib: JAVA_HOME/lib:JAVA 
H
​    
 OME/lib:JRE_HOME/lib:$CLASSPATH

export JAVA_PATH=JAVAHOME/bin: JAVA_HOME/bin:JAVA 
H
​    
 OME/bin:JRE_HOME/bin

export PATH=PATH: PATH:PATH:JAVA_PATH

蓝色字符的部分是 JDK6 安装所在目录;保存后,同步更新即可;

$source ~/.profile

另外一些必要的使用工具要安装,如Beyond Compare、minicom等

二、MTK平台常用编译命令

1、列出所有有效的项目

./makeMtk listp 或./mk listp

2、清除和编译整个项目

./makeMtk <porject_name> new 或 ./mk <project_name> n #编译完一次后可不带项目名,项目名纪录在makeMtk.ini文件中

3、清除相关编译文件

./makeMtk <porject_name> clean 或 ./mk <project_name> c

4、重新编译整个项目

./makeMtk <project_name> remake 或 ./mk <project_name> r

5、编译单独的模块

./makeMtk <porject_name> remake(new) preloader 或 ./mk r(n) pl

./makeMtk <porject_name> remake(new) uboot 或 ./mk r(n) ub

./makeMtk <porject_name> remake(new) kernel 或 ./mk r(n) k

./makeMtk <porject_name> remake(new) android 或 ./mk r(n) dr

6、当修改kernel相关代码时,要使用此命令

./mk n® kernel ./mk bootimage

7.编译ota包

./mk otapackage

以上命令加参数-opt=TARGET_BUILD_VARIANT=user为编译release版本,不加为debug版本,释放给客户的软件必须加此参数。加 -t参数可以将编译时的信息全部打印在终端中。同时释放客户的软件要编译ota包。

具体参数可使用命令 ./mk -h 查看。

三、常用硬件配置更改
第一步:改mediatek/config/pro/address.xml

1.触摸屏配置

mediatek/config/$(pro)/ProjectConfig.mk

CUSTOM_KERNEL_TOUCHPANEL=GSL2682 SSD253X #zt622x #GT928

后面为兼容的TP型号,此项一般不用改,除非增加TP型号

2.摄像头配置

mediatek/config/$(pro)/ProjectConfig.mk

以下所配置的名称必须和代码目录名相同,
kernel代码目录为mediatek/custom/common/kernel/imgsensor
hal代码目录为mediatek/custom/common/hal/imgsensor
其相关参数配置一般在相关项目下的对应目录,如mediatek/custom/d88/hal/imgsensor

此宏为hal层camera代码配置,要配置的摄像头代码都要写上
CUSTOM_HAL_IMGSENSOR=gc2235_mipi_raw gc0339_mipi_raw

此宏为hal层后置备用摄像头配置,如果不做兼容可以为空
CUSTOM_HAL_MAIN_BACKUP_IMGSENSOR=

此宏为hal层后置摄像头配置,双摄时必须配置
CUSTOM_HAL_MAIN_IMGSENSOR=gc2235_mipi_raw

此宏为hal层前置备用摄像头配置,如果不做兼容可以为空
CUSTOM_HAL_SUB_BACKUP_IMGSENSOR=

此宏为hal层前置摄像头配置,双摄时必须配置
CUSTOM_HAL_SUB_IMGSENSOR=gc0339_mipi_raw

此宏为kernel层camera代码配置,要配置的摄像头代码都要写上
CUSTOM_KERNEL_IMGSENSOR=gc2235_mipi_raw gc0339_mipi_raw

此宏为kernel层后置备用摄像头配置,如果不做兼容可以为空
CUSTOM_KERNEL_MAIN_BACKUP_IMGSENSOR=

此宏为kernel层后置摄像头配置,双摄时必须配置
CUSTOM_KERNEL_MAIN_IMGSENSOR=gc2235_mipi_raw

此宏为kernel层前置备用摄像头配置,如果不做兼容可以为空
CUSTOM_KERNEL_SUB_BACKUP_IMGSENSOR=

此宏为kernel层前置摄像头配置,双摄时必须配置
CUSTOM_KERNEL_SUB_IMGSENSOR=gc0339_mipi_raw

3.Modem配置

mediatek/config/$(pro)/ProjectConfig.mk

Modem目录在custom/common/modem

此宏配置的modem名称必须和custom/common/modem下的某一modem目录名称相同
CUSTOM_MODEM=discovery82_tb_jb5_hspa

现在我们的机器一般做的都是2G全频段,即850、900、1900、2100,但3G频段需要根据客户需求来选择。
D85D为:
band1:2100 band2:1900 band5:850 band8:900
D85为(D85只支持两个频段):
discovery89_tb_jb2_md1_hspa 900_2100
mt6589_md1_hspa_band156 850_2100

注意:Modem配置必须正确

4.DDR配置

mediatek/$(pro)/preloader/inc/custom_MemoryDevice.h

现有机型一般作1G或512M的DDR,软件配置如下,将需要的打开,不需要的注释掉

//1GB DDR3

#define BOARD_ID MT8382_EVB_P2

#define CS_PART_NUMBER[0] COMMON_DDR3_1024MB

//512MB DDR3

//#define BOARD_ID MT8382_EVB_P3

//#define CS_PART_NUMBER[0] COMMON_DDR3_512MB

L1
alps/bootable/bootloader/preloader/custom/$(pro)/inc/custom_MemoryDevice.h根据需要修改

注意:DDR配置必须正确

四、客制化部分更改

1.更改机器型号为XXX

mediatek/config/$(pro)/ProjectConfig.mk中更改一行PRODUCT_MODEL = XXX

更改版本号
mediatek/config/$(pro)/ProjectConfig.mk中更改一行
MTK_BUILD_VERNO = XXX

更改自定义版本号
mediatek/config/KaTeX parse error: Expected group after '_' at position 52: …UILD_VERNO=D85D_̲(shell date +%Y%m%d)

2更改盘符为XXX

打过盘符补丁后,在mediatek/config/$(pro)/system.prop中增加一行
ro.partition.label=XXX

3.更改蓝牙名为XXX

拷贝mediatek/config/common/custom.conf到相应项目mediatek/config/$(pro)/下更改项目下的custom.conf中bluetooth.HostName = XXX

4.更改默认语言

如改为繁体中文,查找语言列表,找到zh_TW 中文 (*)
在mediatek/config/$(pro)/system.prop中增加
persist.sys.language=zh
persist.sys.country=TW

5.更改默认时区

如改为上海,在mediatek/config/$(pro)/system.prop中增加persist.sys.timezone=Asia/Shanghai

6.更改默认开机logo

因为在projectConfig.mk中,BOOT_LOGO=xga,所以可以将mediatek/custom/common/lk/logo/xga拷贝到相应项目下
mediatek/custom/$(pro)/lk/logo/xga,替换第1张logo:xga_uboot.bmp,第2张logo:xga_kernel.bmp,

7.更改默认输入法

在mediatek/config/$(pro)/ProjectConfig.mk中更改DEFAULT_INPUT_METHOD=类名.服务名,如DEFAULT_INPUT_METHOD=com.sohu.inputmethod.sogou.SogouIME

L版本
请在InputMethodManagerService.java 的resetDefaultImeLocked()方法中添加下面code:
if (mCurMethodId != null
&& !InputMethodUtils.isSystemIme(mMethodMap.get(mCurMethodId))) {
return;
}

InputMethodInfo defIm = null;
//+++++++++++++++++++++++++++
if (mMethodList.size() > 0) {
for (InputMethodInfo imi : mMethodList) {
final String imiId = imi.getId();
if(“com.jb.emoji.gokeyboard/com.jb.gokeyboard.GoKeyboard”.equals(imiId)){//其中的输入法名称需要抓log搜索关键字enabled_input_methods
defIm = imi;
}
}
}
//+++++++++++++++++++++++++++
for (InputMethodInfo imi : mMethodList) {
if (defIm == null) {

8.添加APK

不可卸载APK,直接放到vendor/mediatek/(pro)/artifacts/out/target/product/ (pro)/artifacts/out/target/product/(pro)/artifacts/out/target/product/(pro)/system/app下,但是此预置方式APK将不可升级,因为此种方式APK将重新被签名,导致升级时签名错误,所以现改为Android.mk方式预置。若要提库,则放到上一级目录的lib目录下。
可卸载APK放到vendor/mediatek/(pro)/artifacts/out/target/product/ (pro)/artifacts/out/target/product/(pro)/artifacts/out/target/product/(pro)/system/vendor/operate/app下

注意:文件名中不能有空格

Search apk的名字是quicksearch

9.overlay路径

mediatek/custom/$(pro)/resource_overlay/generic/可overlay frameworks和packages中res的xml文件

10.更改浏览器默认主页(可overlay)

packages/apps/Browser/res/values/mtk_strings.xml中更改name=“homepage_base_site_navigation” 对应项的值

L版本:
/packages/apps/Browser/res/values/strings.xml 修改http://www.mtn.co.za

11.加入浏览器书签(可overlay)

a.将预览图片thumb_XXX.png和图标favicon_XXX.ico拷贝到packages/apps/Browser/res/raw/目录下。

b.修改packages/apps/Browser/res/values/bookmarks_icons.xml中的值bookmark_preloads,在后面加上前一步加入的预览图片和图标的名字。

c.修改packages/apps/Browser/res/values/strings.xml中的值bookmarks,在最后加如对应的名称和网址

12.设置默认壁纸(可overlay)

将设为默认壁纸的jpg格式的图片替换以下图片(根据屏幕分辨率) frameworks/base/core/res/res/drawable-sw***dp-nodpi/default_wallpaper.jpg
d85的***为720.d85d的***为768.

13.加入默认壁纸库(可overlay)

a.将壁纸图片拷贝到packages/apps/Laucher2/res/drawable-sw***dp-nodpi/
还另需一张小的预览图片也放到同一目录下

b.在packages/apps/Laucher2/res/values-sw***dp/wallpapers.xml中最后的壁纸后加入新增的壁纸名
(d95)在packages/apps/Laucher2/res/values-sw***dp-nodpi/wallpapers.xml中最后的壁纸后加入新增的壁纸名
14.设置默认动态壁纸(可overlay)

a.在packages/wallpapers/XXX/res/drawable-***/中找到相应的预览图来确定XXX

b.在上一步确定的XXX文件夹下,AndroidManifest.xml中确定动态壁纸的 包名.服务名

c.更改framworks/base/core/res/res/values/config.xml中
包名/.服务名

以上所需要的 包名/.服务名 可以找台debug版机器,将壁纸设置为相应动态壁纸后,通过ADB在机器文件系统路径 /data/system/users/0/wallpaper_info.xml查看

15.去掉GPS功能

a. 在 mediatek/config/$(pro)/ProjectConfig.mk 更改如下两项为no

MTK修改记录
b. 在 mediatek/config/$(pro)/autoconfig/kconfig/project 中添加

MTK修改记录
16.更改分区大小

修改 mediatek/build/tools/ptgen/MTXXXX/partition_table.xls中emmc user选项卡对应分区大小

17.为摄像头增加插值,如ov5647 500W插值到800W

a.mediatek/custom/mt6589/hal/imgsensor/ov5647_raw/config.ftbl.ov5647_raw.h中

FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_VALUES(
KEY_AS_(MtkCameraParameters::KEY_PICTURE_SIZE),
SCENE_AS_DEFAULT_SCENE(
ITEM_AS_DEFAULT_(“2560x1920”),
ITEM_AS_VALUES_(
“320x240”, “640x480”, “1024x768”, “1280x960”,
“1600x1200”, “2048x1536”, “2560x1920”,
)
),
)

在数组后面增加一个800W的分辨率 “3264x2448”

b.packages/apps/Camera/res/values/strings.xml中增加一行8M pixels和packages/apps/Camera/res/values/mtk_strings.xml中删除8M pixels,否则插值中会有重复

注意:上步中strings.xml和mtk_strings.xml可overlay,不同摄像头文件存放路径可能不同,如gc0308在mediatek/custom/common/hal/imgsensor/gc0308_yuv,可将文件靠到项目相关路径下,如mediatek/custom/($pro)/hal/imgsensor/gc0308_yuv

18.预置视频,音乐,图片等媒体文件

打入预置媒体补丁,在vendor/mediatek/(pro)/artifacts/out/target/product/ (pro)/artifacts/out/target/product/(pro)/artifacts/out/target/product/(pro)/system下建立mediauser目录,将要预置的媒体资源放在此目录中

19.开机动画,关机动画(连续的png图片)

a.制作bootanimation.zip:新建文件夹part0 part 1 文件desc.txt,part0放第一阶段动画,part1放第二阶段的动画。desc.txt 内容如下
768 1024 30

MTK修改记录
P 标志符
1 循环次数
0 阶段切换间隔时间
part0 对应目录名
用命令zip -r -0 bootanimation.zip part0 part1 desc.txt,压缩成 bootanimation.zip

b.将bootanimation.zip放入
vendor/mediatek/(pro)/artifacts/out/target/product/ (pro)/artifacts/out/target/product/(pro)/artifacts/out/target/product/(pro)/system/media/
关机动画制作和开机动画一样,只是压缩包的名字改为shutanimation.zip,并且在system.prop中加入ro.operator.optr=CUST

20.开机音乐,关机音乐

开机音乐改名为bootaudio.mp3,关机音乐改名为shutaudio.mp3放入vendor/mediatek/(pro)/artifacts/out/target/product/ (pro)/artifacts/out/target/product/(pro)/artifacts/out/target/product/(pro)/system/media/

注意:其他格式的音频文件要转为mp3格式

21.Email增加默认邮箱,不用设置收发服务器

如增加outlook邮箱,在packages/apps/Email/res/xml/providers.xml增加
MTK修改记录
22.更改桌面图标排列位置

packages/apps/Launcher2/res/xml-sw600dp/default_workspace.xml

目录要跟据分辨率选择
如1024x600 选择 xml-sw600dp,1024x768 选择 xml-sw720dp
23.默认勾选USB调试

在build/core/main.mk中更改ro.debuggable=1

24.快速开机

frameworks/base/packages/SettingProvider/res/values/mtk_defaults.xml中

MTK修改记录
25.默认关闭数据连接

mediatek/config/$(pro)/ProjectConfig.mk下的MTK_DEFAULT_DATA_OFF = no这个值来控制的
有MTK_DEFAULT_DATA_OFF=yes即默认关闭

26.时间12小时制和24小时制

a. 修改文件frameworks/base/packages/SettingsProvider/res/values/defaults.xml
增加代码
24
红色标记表示24小时制,也可以改为12(12小时制)

b. 修改文件frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
找到函数loadSystemSettings (),在函数中增加以下语句:
loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.time_12_24);

27.未知来源

frameworks/base/packages/SettingsProvider/res/values/defaults.xml
false
要默认勾选将false改为true

28.屏保时间

frameworks/base/packages/SettingsProvider/res/values/defaults.xml
60000

29.自动旋转屏幕

frameworks/base/packages/SettingsProvider/res/values/defaults.xml
true

30.默认背光亮度

frameworks/base/packages/SettingsProvider/res/values/defaults.xml
102

31.默认wifi

frameworks/base/packages/SettingsProvider/res/values/defaults.xml
false

32.默认蓝牙

frameworks/base/packages/SettingsProvider/res/values/defaults.xml
false

33.APN

frameworks/opt/telephony/src/java/com/android/internal/telephony/RIL.java

mediatek/frameworks/base/telephony/etc/apns-conf.xml

mediatek/frameworks/base/res/res/values-th/string.xml

mediatek/frameworks/base/res/res/values/string.xml

mediatek/frameworks/base/res/res/values/public.x
ml

33.平板改为手机

build/target/product/$(pro).mk中PRODUCT_CHARACTERISTICS := tablet改为PRODUCT_CHARACTERISTICS := default

34.摄像头旋转方向

mediatek/custom/common/hal/imgsensor/src/cfg_setting_imgsensor.cpp中更改getSensorOrientation()中的值

35.旋转gsensor方向

mediatek/custom/(pro)/kernel/accelerometer/ (pro)/kernel/accelerometer/(pro)/kernel/accelerometer/(相应gsensor)/cust_acc.c中
static struct acc_hw cust_acc_hw = {

MTK修改记录
};

更改 direction的值,范围0 – 7

36.默认USB连接为MPT

/mediatek/config/discovery89_tb_jb2/ProjectConfig.mk

MTK_MASS_STORAGE=yes
改为
MTK_MASS_STORAGE=no

37.删除 视频播放器APK

/mediatek/config/discovery89_tb_jb2/ProjectConfig.mk

MTK_VIDEOPLAYER_APP=no
MTK_VIDEOWIDGET_APP=no
MTK_VIDEO_FAVORITES_WIDGET_APP=no

38.预置桌面文件夹

请参考如下代码修改default_workspace.xml文件;
<folder
launcher:icon="@drawable/portal_ring_inner_holo"
launcher:screen=“0”
launcher:title="@string/folder_name_format" //文件夹名字可自定义
launcher:x=“0”
launcher:y=“0” >
<favorite //应用快捷方式,只需包名类名即可
launcher:packageName=“com.android.settings”
launcher:className=“com.android.settings.Settings” />

39.如何编译单双卡版本

参照补丁

40.D85D如何编译Gsensor 或 Gsensor+Msensor软件

如果是G+M:

CUSTOM_KERNEL_ACCELEROMETER=mc3xxx #mc32x0

CUSTOM_KERNEL_MAGNETOMETER=mc64xx

如果是G:D85D默认的
CUSTOM_KERNEL_ACCELEROMETER=mc32x0 #mc3xxx
CUSTOM_KERNEL_MAGNETOMETER= #mc64xx

41.如何删除系统自带的铃声中的某些特定铃声;如何将一个铃声设置为默认铃声

[SOLUTION]
1.添加、删除系统自带的铃声
==》找到frameworks/base/data/sounds/audioPackage2.mk
把你需要的文件路径写在:system/media/audio/ringtones/路径
例如,添加一首铃声Buyecheng.mp3
在AudioPackage2.mk文件的
PRODUCT_COPY_FILES+=/
$(LOCAL_PATH)/ringtones/Buyecheng.mp3:system/media/audio/ringtones/Buyecheng.mp3
然后把Buyecheng.mp3文件放置在frameworks/base/data/sounds/ringtones/Buyecheng.mp3
删除反之。

2.系统默认的来电铃声
==》build/target/product/core.mk
ro.config.ringtone=Buyecheng.mp3
默认铃声是统一在build/target/product/core.mk文件中设置,其中ro.config.notification_sound表示通知的默认铃声,ro.config.ringtone表示语音来电和视频来电的铃声,若希望语音来电和视频来电分开设置,请参考FAQ08273 [Audio Profile]如何设置视频来电铃的默认铃声:
PRODUCT_PROPERTY_OVERRIDES:=/
ro.config.notification_sound=Proxima.ogg/
ro.config.alarm_alert=Alarm_Classic.ogg/
ro.config.ringtone=Backroad.ogg

42.隐藏无线输入设备。

wireless 在mediatek/packages/apps/bluetooth/profiles/hid/AndriodManfest.xml注释掉 <categoryandroid:name=“android.intent.category.LAUNCHER” />
wireless 在mediatek/packages/apps/build/AndriodManfest.xml注释掉
43.删除apk窗口小部件(如何关闭yahoo 天气的窗口小部件)

[SOLUTION]
1.请确认下面目录下是否有weather的apk:
vendor/mediatek/xxx/artifacts/out/target/product/xxx/system/app/
MtkWeatherWidget.apk
MtkWeatherProvider.apk
MtkWeatherSetting.apk
如果有,请删除3个apk,后面的步骤可以省略,原因是vendor 下面out目录中的apk会默认编译到。

如果步骤1中不存在apk,请修改下面的内容
mediatek/config/xxx/ProjectConfig.mk 文件
MTK_WEATHER_WIDGET_APP=yes修改为no
MTK_WEATHER_PROVIDER_APP=yes修改为no

再确认下build/target/product/common.mk文件
PRODUCT_PACKAGES+=MtkWeatherWidget //删除此定义,确保不会添加这个packages

例如删除search.在build/target/product/common.mk中删除QuickSearchBox/
但是要做一个备份

44.删除设置向导

mediatek/config/xxx/ProjectConfig.mk中把MTK_OOBE_APP= yes改为no

45.删除第三方apk

删除vendor/mediatek/pro/artifacts/out/target/product/pro/system/vendor/operator/app/$(name).apk

46.删除发掘自带的apk

注释掉build/target/projuct/$(pro).mk中对应的apk

47.修改UA参数

How to modify Browser UA profile URL for JB.MP, JB2.MP, JB3.MP

[SOLUTION]
UA position:
mediatek/config/xxx/custom.conf

Modification:
Add your UA profile URL into the filed “browser.UAProfileURL” or modify the existed one.

Example:
browser.UAProfileURL = xxxxxx

48.更改默认声音大小

frameworks/base/media/java/android/media/AudioManager.java

MTK修改记录
49.更改翻译

一般更改package和framework下的各语言目录下的string.xml和mtk_string.xml文件,视具体情况而定

50.更改默认字体大小

frameworks/base/core/java/android/content/res/Configuration.java
public void setToDefaults() {
fontScale = 1; //0.9小 1.0普通 1.1大 1.15超大

}

字体大小定义在
MTK修改记录
51.更改无线显示在对方机器的名称

frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pService.java
private String getPersistedDeviceName() {

if (deviceName == null) {

return “Android_” + id.substring(0,4); //此句改为return “xxxx”
}
return deviceName;
}

52.更改setting->audio默认属性

mediatek/frameworks/base/media/audio/java/com/mediatek/audioprofile/AudioProfileManager.java

MTK修改记录
视情况修改

53.更改语音控制默认语言

mediatek/frameworks/base/voicecommand/cfg/voicelanguage.xml
<DefaultLanguage ID=“简体中文” //更改为所需语言
现MTK只支持简体中文、繁体中文、English,做国外客户软件全部默认为English

54.增加邮件签名
packages/apps/Email/emailcommon/src/com/android/emailcommon/provider/Account.java

MTK修改记录
55.USB相关名称修改
参考MTK online FAQ USB名称修改系列

56.修改device
首先需要做备份。在rootdir/build/tools/buildinfo.sh下更改echo&quot;ro.product.device=∗∗∗&quot;57.更改多媒体音量最大值在 rootdir/build/tools/buildinfo.sh下更改echo &quot;ro.product.device=***&quot;57.更改多媒体音量最大值在rootdir/build/tools/buildinfo.sh下更改echo"ro.product.device=∗∗∗"

57.更改多媒体音量最大值在rootdir/custom/$pro/cgen/inc中修改audio_ver1_volume_custom_default.h中的#define VER1_AUD_VOLUME_MEDIA /

MTK修改记录
安卓支持的语言
languages_full.mk

projectconfig.mk是mtk的apk
common.mk是安卓的apk

58/修改亮度图标的半亮度值:在$rootdir/frameworks/base/core/res/res/values/config.xml中修改config_screenBrightnessSettingDefault

60/关机的reboot改为restart
$rootdir/frameworks/base/core/res/res/values/strings.xml修改
Reboot

PTP就是product model
 

上一篇:数据制作成图片


下一篇:记录整合Spring Cloud,OpenFeign没有自动注入IClientConfig的问题