怎么优化rom?

怎么优化rom?,第1张

一、牧歌ROM刷入界面

1、成功用第三方recovery刷入和2个主要桌面如下图,可以看出电量图标换成了蓝色,其他如桌面壁纸、时钟等与官方一直,日历等动态显。

2、锁屏壁纸和官方一致,天气定位后锁屏有天气动态效果,伴有充电特效。

3、usb调试的通知图标改了图标,貌似是斗地主游戏的图标,桌面布局比官方多了几种选择,版本号并没有修改。

4、音效控制器,牧歌包特有的,简单调试后,效果不错

二、系统修改

1、牧歌这次精简了bug报告、输入法等apk,初始设置需要全部跳过,部分apk移动到了data目录,谷歌服务也放到了这里面,关于apk的精简列表大家百度下吧,就不贴上来了,前面提到的蓝色电量与桌面布局的修改美化可以通过修改miuisystemui和home两个apk完成,这需要反编译几处,教程本论坛有。

2、etc下添加了CrossBreeder优化,在这后所以下这个优化很出名,包括了网络、dns、运存、内核等优化,大家百度下就可以;修改了etc/wiff下面的nvram.txt的pa0maxpow=60为100,增大功率;build.prop优化是:traces.txt下面的几行,有兴趣的自己百度代码,build优化是romer必然要做的。

3、meida目录下,这几乎是每个romer必须要精简美化的地方,这里面有牧歌删除了默认的锁屏和桌面壁纸,精简了audio下面的铃声、通知、闹钟和ui提示音,ui小编以为精简太多了,拍照都没有提示音了;theme目录是美化重地,miui_mod_icons是系统apk图标合集,牧歌精简了一些,通过这可以美化系统图标,default目录下面icons是动态图标,通过替换这个达到增加动态图标显示功能,lockwallpaper是默认锁屏壁纸,lockscreen是锁屏样式,可以替换这2个来修改锁屏壁纸和锁屏样式,如牧歌和米基塔的锁屏天气。

4、牧歌的包使用米健可以唤醒屏幕,这个是通过修改usr/keylayout下的minoe—keypad.kl来实现的,请看下面相应图片,第三行“key 528 FOUCUS ”,后面跟着的“WAKE-DROPPED”就是开启米健唤醒,不喜欢这个功能的请使用文件管理器来删除WAKE-DROPPED”保存重启就行。xbin下面牧歌也添加了ziplagn 等文件和脚本,能力有限,不能理解其作用。

三、脚本优化

大多第三方ROM制作者都加入一些系统优化脚本,来优化网络、运存等,小米ROM默认是不开启init.d支持的,可以使用厨房工具-高级里面的添加init.d支持功能修改内核,完成对init.d脚本的支持。脚本想要真正完美运行是需要调整修改的。下面我们看一下牧歌的包包的脚本,牧歌的包共有5个脚本,内容和运行情况看下面的图:

通过上面的运行测试,发现脚本没有完全运行,有些命令没有,有些提示notfound---没有发现目录或文件就表明这个脚本所要优化的文件要么路径不对要么没有这个文件,可以通过修正路径,或者删除相应的脚本内容来实现。

看了点评,才知道自己还是能力有限,但是希望能够给大家带来一点脚本制作的启发吧。

四、加入音效

如果往rom加入音效,不是单单一个apk就行,例如最近很火的V4A、还有dsp,需要apk 和so驱动以及etc下的audio_effect.conf的修改,杜比和beast音效需要添加修改的文件更多,大都需要bin、framework、permission、lib等加入相应文件,可以度娘下载单刷包解开,把相应的文件加入到rom的相应目录就行。下面我们看一下牧歌的音效,牧歌的音效文件太多了,下面简要分析下,有不对的地方欢迎批评指正。

1、system/app下面加入了杜比音效和swqimasterreset.apk,使用牧歌rom你会发现音量有时高有时低,那么把杜比音效的2个“dolby”apk删除或者移到到别的地方,重启就好了。

2、system目录下的audio文件夹与etc/audio文件夹里面的音效文件有重复、etc/sdcark文件夹下面的文件和etc下面的文件重复,不知道是不是必须要这样,bin下加入了音效所需文件,可以看出是beast音效,etc下面的persimmon也加入了文件,etc下面加入了soundimg文件夹,framework下加入了dolby.jar等文件,lib以及其下的soundfx下面加入了驱动文件,值得一提的是再次看到了斗地主小老头图标。

五、总结

通过对牧歌ROM的分析,我希望能够带给大家一些怎么精简、美化、优化的知识,让初学者不再无从下手,各位大大们绕道吧,同时小编在此恳请你能码几个字回复支持下

安卓5.0的更新更美观,也带来了许多新功能。只是要注意哪些厂家会承诺升级。五年左右一换脸,真心不错。最近我买了一副新眼镜,大家都说我的样子都因此改观了。安卓已经六岁了,也总算有一次重大改观了。安卓5.0 Lollipop带来了全新的,更为扁平化的外观,更好的通知中心,重新设计的核心应用,并提升了在安卓设备上的性能表现——增加了一些以前所缺失的重要应用类别。

优点

漂亮的新设计。改进的邮件应用程序。新的API将提升音乐和游戏类应用品质。优秀的语音搜索。

缺点

不太好说。目前还不清楚哪些应用能够在平板上良好运行。浏览器可以使用刷新。

一、开发环境设立

以下表述中提到的相关压缩包或安装文件到华禹ftp服务器下载,部分文件要到群共享里面下,那里是最新的。

华禹ftp服务器:IP:220.113.15.15,帐号为study-bbs.com,密码为study-bbs0304

P1300的QQ群号: 15762255

P1300_Build_Guide.rar来自ftp服务器,“华禹\MTK相关部分”目录下

手机开发板C语言开发视频.rar来自ftp服务器,“华禹\MTK相关部分”目录下

huayu109_ads1.2.rar来自ftp服务器,“华禹\旋风001手机模块\1.工具类”目录下

huayu102_ADS12_Patch_Windows.rar同上

huayu106_perlzip.rar同上

huayu108_SourceInsight3.5.rar同上

huayu101_p1300软件使用工具及开发指南.rar同上

huayu201_P1300_V1.7_Release.rar文件来自群共享

huayu203_P1300_V1.7_Release_patch.rar文件来自群共享

FlashTool_v3.0844.00.rar文件来自群共享

1、开发主机要求及所需工具:

*** 作系统:Windows 2000, WinXP. 推荐Windows 2000 with SP2 or later.

编 译 器:ADS (Arm Developer Suite) v1.2 [Build 842]

Perl解析:ActivePerl, 推荐使用ActivePerl 5.6.1版本

仿真工具:MTK PC Simulator

跟踪工具:Catcher_L1 v3.10.01,从串口输出调试信息,只做普通UI应用的话,大致不会用到,用PC仿真工具就好了

烧录工具:FlashTool_UI v3.1.05 或 FlashTool_v3.0844.00

其他:PL2303_Driver_XP2K v204102,这是下载线用到的USB串口驱动,以前机器上装过PL2303驱动的就不必再装了

二、开发环境建立过程:

新建一个目录,英文的好了,否则有些工具不认识中文路径,这里以E:\MTK_P1300为例说明,下面我用文字和图片简单说明下安装过程,更详细的安装过程可以看压缩文件“手机开发板C语言开发视频.rar”中的Flash文件“P1300_Build_Env.swf”。

(1)安装ADS1.2

解压文件huayu109_ads1.2.rar到某个目录,比如说解压到“E:\MTK_P1300”,解压完后运行“E:\MTK_P1300\ADS1.2\Setup.exe”,一路按下一步,最后安装License时选定文件“E:\MTK_P1300\ADS1.2\CRACK\ license.dat”,然后接着一路下一步直到安装完。安装完后删掉目录“E:\MTK_P1300\ADS1.2\”,节省磁盘空间。

(2)安装ADS补丁

运行huayu102_ADS12_Patch_Windows.rar压缩文件中的ADS_Patch_Window.exe,这是个自解压的压缩文件,选Unzip解压到上一步ADS的安装目录(缺省是C:\Program Files\ARM\ADSv1_2),解压过程中如果问到是否覆盖,全部选覆盖好了。

(3)安装脚本解释器Perl

直接运行压缩包huayu106_perlzip.rar里面扩展名为msi的安装文件,缺省安装就好,一路Next,呵呵。

上述几步完成后,编译环境基本建立,此时可以开一个dos窗(开始菜单->运行->输入cmd->确定)看一下,安装正常应该能顺利执行以下命令,如下图:

注意看版本号,应该是ADS1.2 [Build 842],不是的话可能没打补丁,或补丁打的位置不对,请看第2步ADS补丁部分的说明并重新打一次,直到版本号对为止,哈哈。

这是perl解释器的运行画面。

注1:上述安装过程会自动创建编译环境所需的环境变量,如果发现编译不正常了,可能是安装了其他编译工具导致冲突,这时建议查看下系统环境变量,把Perl和ADS的安装目录调到最前面,同时从path中去掉可能会产生冲突的编译工具链的路径(例如winavr),如下图所示(我是安装到D盘滴,缺省是C盘,不过我C盘几乎被我塞满了):

如果嫌改path麻烦(因为要用到其他编译工具链的时候还得改回去),还有一种办法,就是改make.bat批处理,具体见注4中相关说明。

注2: 如果安装ADS时,改变了默认安装路径,需要修改源码中的设置,源码目录树解压过程见模拟器编译环节相关介绍。

1.             make\Option.mak  

2.             ----------------------------------  

3.             ifeq ($(strip $(COMPILER)),ADS)  

4.           DIR_ARM=  c:\progra~1\arm\adsv1_2  # 修改这里 

5.           DIR_ARM := $(strip $(DIR_ARM))  

6.           DIR_TOOL   =  $(DIR_ARM)\bin  

7.           DIR_ARMLIB =  $(DIR_ARM)\lib  

8.           DIR_ARMINC =  $(DIR_ARM)\include  

9.             endif  

10.       ------------------------------------------------ 

比如改装到D盘了,这里把红色部分“c”改成“d”就好了

(4)代码编辑环境

运行压缩文件huayu108_Source Insight3.5.rar中的安装文件安装即可。至于编辑器,这个看个人喜好了,不过Source Inside看代码蛮方便的。

(5)PC机模拟器

模拟器MTK PC Simulator是用来在PC上仿真调试用的,要安装VC6 SP6(同时要安装Uuicode 静态和动态库,没有装Unicode库的可以用“huayu103_MTK模拟器DLL补丁.zip”中的库,拷到系统目录“%windir%\system32”下即可)。我机器上的VC是有装Unicode库的,没装过Unicode库的如果在模拟器编译或运行中出现问题,建议重装下VC6,安装时勾选Unicode库,并打上相关补丁到SP6。

模拟器能模拟真机的大部分行为,这样能给调试带来很大便利,不需要每次改动都要烧录。

模拟器要从源码编译,解压压缩包“huayu201_P1300_V1.7_Release.rar”里面的文件“HUAYU_P1300_V1.7_Release.rar”到目录“E:\MTK_P1300”,此时会出现目录“E:\MTK_P1300\P1300_V1.7_Release”,这就是P1300的代码目录树了;接着打上最新的补丁,解压压缩包“huayu203_P1300_V1.7_Release_patch.rar”里面的压缩文件“HUAYU_P1300_V1.7_Release_patch.rar”到目录

“E:\MTK_P1300\P1300_V1.7_Release”,解压时选择全覆盖以替换被修改过的文件,打补丁之前对目录树里面的文件进行修改过的,需要手动再加上去。

编译PC仿真器之前需要先把刚才上面得到的目录树build一次,开一个dos窗,盘符和目录转到代码目录树对应的盘符和目录,例如:

1.              E:  

2.             cd E:\MTK_P1300\P1300_V1.7_Release\  

3.           make new 

注3:第一次make的时候要用“make new”,make new的时间比较长(慢的机器搞不好要2小时以上),编译过程中间会出现一些文件找不到的信息,只要编译过程没意外终止,那些信息可以忽略。编译日志文件位置: build\NEOTEL25_06B\log\,要查看编译过程有啥问题就看这个目录下的文件了;生成的bin文件位置: build\NEOTEL25_06B\*.bin,下载烧录就是烧bin文件。

这里顺带介绍下build的命令格式:

make new 清除后重新编译整个项目

make resgen 重新生成资源

make remake重新编译链接项目

make viewlog xxx 查看模块xxx的编译日志

make查看可以用make选项帮助信息

注4:如果机器上装了其他gcc编译工具链(比如winavr之类)的话可能要手动改下Path,否则编译会出错,修改Path的方法见注1,也可以修改批处理文件“E:\MTK_P1300\P1300_V1.7_Release\make.bat”,在“perl make2.pl %*”之前加上下面两句:

1.           set PERL5LIB=D:\perl\lib  

2.           set PATH=D:\perl\bind:\progra~1\arm\adsv1_2\binE:\MTK_P1300\P1300_V1.7_Release\toolsc:\windows\system32c:\windowsc:\windows\system 

注意,上面的路径是我机器上的,不是缺省安装路径,要根据自己的实际安装路径做修改。

下面开始编译PC仿真器了,用VC6打开工程文件“E:\MTK_P1300\P1300_V1.7_Release\plutommi\mmi\ PC_Simulator.dsw”,然后开始编译,编译时间比较长,具体看机器配置了,这时又可以干点别的啥了,呵呵。

因为仿真器工程涉及文件较多,编译费时,建议编译过程中电脑上少开窗口,特别是网络类的,如QQ,有时会发现开QQ后,编译过程中VC会挂死,呵呵。有可能是开QQ后防火墙过滤网络数据占用较多系统资源,如果发现VC编译特别慢或干脆挂死,可以重启动一下电脑,只开必要的窗口,然后开始编译。

如果编译过程中发现怪异的问题,如:

1.           incomingstringiddef.h(120) : error C2059: syntax error : 'constant'    

2.           或者 

3.           error C2065: 'STR_CM_REDIAL' : undeclared identifier   

4.           之类 

5.            

这个时侯你可能需要看一下你VC相关路径的设置顺序,如下图:

把VC原本的头文件路径调整到最前面,我刚开始编译的时候SDK的头文件在前面,编译总是通不过,改一下就好了,库也一样都调整下比较保险,呵呵。

(6)Tracer跟踪工具

解压文件P1300_Build_Guide.rar到E:\MTK_P1300,然后在文件管理器进入目录“E:\MTK_P1300\P1300_Build_Guide”,接着解压Catcher_L1_v3.10.01.zip到当前目录下的Catcher_L1_v3.10.01子目录,进入子目录Catcher_L1_v3.10.01,发送一个Catcher.exe的快捷方式到桌面。

在需要用到TRACE的时候,在代码中使用函数

void kal_prompt_trace(module_type mod_id, const kal_char *fmt,...)打印需要查看的信息,使用Catcher跟踪查看。

这个有点类似Linux的Kernel Debug工具,具体使用方法见文档《cather使用手册.doc》,这个文档可在压缩包“huayu101_p1300软件使用工具及开发指南.rar”里面找到。

(7)烧录工具

解压文件“E:\MTK_P1300\P1300_Build_Guide\ FlashTool_UI_exe_v3.1.05.zip”到当前目录,然后进入目录“E:\MTK_P1300\P1300_Build_Guide\FlashTool_v3.1.05”,发送一个Flash_tool.exe的快捷方式到桌面好了。

还有个下载工具FlashTool_v3.0844.00.rar,也是不用安装,解压后直接用的,据说烧录速度比上面那个快。

具体使用方法见文档《flash_tool_MT平台使用教程.doc》,这个文档可在压缩包“huayu101_p1300软件使用工具及开发指南.rar”里面找到。

(8)USB串口下载线驱动

运行压缩文件

1.           “E:\MTK_P1300\P1300_Build_Guide\ PL2303_Driver_XP2K_v204102.zip” 

里面的可执行文件进行安装,一路下一步,这里不再赘述。

nucleus实时 *** 作系统MTK手机软件系统工程和配置简介

MTK使用了nucleus实时 *** 作系统,在其上做了个内核抽象层的封装,以适应多种实时 *** 作系统,如oscar、ThreadX、nucleus。整个软件系统包括nucleus *** 作系统、平台设备驱动、协议栈、文件系统、WGUI、MMI、J2ME等。在这里MMI部分几乎包括了 *** 作系统内核、协议栈、文件系统之上的所有部分,其中WGUI也在其中。

MTK的PC模拟版使用VC的编译器和链接器生成,ARM版使用ADS1.2的编译器和链接器生成。因为MTK的整个软件系统是一个很庞大而且复杂的工程,并且要支持多个MTK的产品系列和多家客户的客户化支持,使用集成开发环境(IDE)已经无法胜任,而且很难做到整个工程的自动构建和资源、代码的生成。所以MTK的软件系统使用了windows下的GNU开发工具链(MinGW)来进行工程的管理、配置和构建,MTK将MinGW放到了第三方工具中。

另外还使用了perl脚本来解析用户输入的命令行参数,因此第三方工具中还包含了ActivePerl(windows下的perl解释器)。不过,整个软件系统并没有使用MinGW的全部工具,好象只使用了make这个工具,由几个Makefile控制了构建的过程,在编译和链接时根据最终生成PC模拟版还是ARM版而分别调用VC的编译器和链接器或ADS1.2的编译器和链接器。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11431995.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存