mtk手机从刷机到修改客户需求的点点滴滴

来源:互联网 发布:山西省软件行业协会 编辑:程序博客网 时间:2024/06/04 00:58

仿佛经历了九九八十一难

1.从下代码开始,git命令要熟悉,熟悉,不然你都不知道自己是怎么死的,千辛万苦的代码就这么白费了。
下载代码:
git clone 代码的地址

2.编译代码
[为了使代码编译的速度更快,毕竟编译一次代码三个小时,你受的了吗,不用下班吗?][6]
修改此目录下的envsetup.sh文件,为它增加cache

export USE_CCACHE=1export CCACHE_DIR=/home/work_ssd/.ccacheccache -M 60G

注意路径要修改为自己的路径!!!!!
编译代码的命令:

make cleansource build/envsetup.shlunchmake -j8

make clean 清理之前编译的文件(本地编译一般不用,这个要测试再看。手机一会编32位,一会编64位,也不知道到底有没有影响。)
source build/envsetup.sh 开始本地编译前配置编译环境
lunch 选择要编译的项目
make -j8 选择编译参与的cpu的个数
编译完成就是刷机啦。
[刷机注意事项:
1.先安装DriverInstall在电脑上。
2.关机看手机有没有端口在手机设备上显示如下图所示:][6]
设备管理器中显示端口后完成,如果显示失败,说明驱动需要更新
[3.显示如上就可以刷机了][6]
刷机界面
mtk手机关机后点击Download,可以下载。
其中第一个参数的是自动填充的,第二个参数是编译完成后的/out/target/product目录下的文件。
开机完成~~~~
下面是一些路径及修改文件的介绍
内部和外部版本号:
\out\target\product\ckt6737m_65_m0\system\build.prop
开关机动画路径:
/framework/base/data/sounds/ALLAudio.mk
开机logo:
/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/fwvga/fwvga_uboot.bmp~fwvga_kernel.bmp
默认壁纸:
Z:\work\mtk6737m\frameworks\base\core\res\res\drawable-hdpi
壁纸地址:
Z:\work\mtk6737m\packages\apps\Launcher3\WallpaperPicker\res\drawable-xhdpi
第一次修改客户需求:
关于开关机动画:
1.开关机动画的制作首先图片的像素要一致。然后分为两个文件夹:
开机动画的图片
desc的文件内容如下:

480 854 5p 1 0 part0p 0 0 part1

其中前两个参数为像素值 第三个参数为播放的帧数,下面两个分别是第一个文件夹播放的循环次数和间隔多久播放下一次。
GMS包要随时升级,*.mk文件是适配器文件。
发版本的常用路径
外部和外部版本号:\out\target\product\ckt6737m_65_m0\system\build.prop
AP路径:\out\target\product\ckt6737m_35_m0\obj\CGEN\APDB_MT6735_S01_alps-mp-m0.mp1_W16.31
BP路径:
vendor\mediatek\proprietary\modem\ckt6737t_65_m0_lwg_dsds_cotsx\BPLGUInfoCustomAppSrcP_MT6735_S00_MOLY_LR9_W1444_MD_LWTG_MP_V88_P5_1_lwg_n
2.打tag在发版本前。
*隐藏掉一个apk,搜索它的名字全文:grep -rn MultiWindowService *
找到对应文件文件,修改宏。
grep -rnw “MTK_MULTICORE_OBSERVER_APP” *
找到后修改宏。
关于.mk文件:
1.LOCAL_OVERRIDES_PACKAGES := AlarmClock
使 AlarmClock不会加入到编译系统中,不会生成 AlarmClock.apk。

MTK分屏知识:

打印分屏的log:
adb shell dumpsys activity activities > d:\log.txt
1. 先确保应用的activity的resizeMode都为RESIZE_MODE_UNRESIZEABLE.
2. adb shell dumpsys activity activities > d:\log.txt 此命令确定 resizeMode的值和主activity。
能进分屏的话,那就是root activity是支持分屏的,那个telcel应用启动之后,被压入了支持分屏的activity栈中,所以telcel就能分屏了
3. adb reboot && adb wait-for-device && adb logcat -v time > log.txt 打印开机log.
4. recents.java那个地方是分屏的入口,刚刚的修改只是在入口简单判断一下,然后屏蔽掉不让那个应用进分屏

原创粉丝点击