拼包移植
拼包方法我归纳为:正向移植、逆向移植和混合移植,其中MTK平台多用逆向移植,高通平台多用正向移植,混合移植很少使用。
正向移植正向移植的做法通常就是,找个目标机型的底包,然后把要移植的包的APP和Framework提取出来替换进去。这样的优点是改动无需太大,非常快捷;缺点是经常因为一些Bin下的程序或者库文件的差异而导致成功率不够高。
逆向移植逆向移植的做法是,拿要移植的包作为底包,把目标机型的内核、WiFi驱动、传感器库文件、配置文件等替换进去。这样做要复杂一些,需要准确两个包的差异,知道应该改哪里;优点自然是不成则已,一旦移植成功能最大限度地发挥ROM性能,因为框架、程序与底层的契合度要比正向法好。
混合移植混合移植的做法是,拿几个不同机型的ROM选取其中一个作为底包来进行APP、Framework、内核、驱动、传感器库、配置文件的替换,这样比较复杂,要明确知道应该改哪里;优点是一但成功ROM能够很好的发挥出ROM的性能;缺点是不太好操作,容易混淆。
拼包要求ROM拼包移植涉及的东西比较偏底层,所以在移植之前必须清楚目标机型的硬件配置,分区结构。这里的配置不是说主频多少、内存多少,这两个参数基本上不会影响移植的进行。对于移植,最关键的因素是主板平台,通常采用同一系列的CPU的不同机型的ROM移植的成功率要高很多。比如,欧盛X7为MTK6589T(1.5GHz),卓普小黑是MTK6589(1.2GHz),虽然主频不一样,但它们却同属于同样的MTK6589平台。他们之间的互相移植,绝对要比与MTK6592平台的欧盛X8互相移植来的容易得多。
Patchrom实际上是通过Smali Injection技术将第三方ROM的代码注入原生系统的Framework,让该ROM的App能够正常运行,并且使得该ROM所修改的功能能够在原生系统中得到体现,将原生系统的ROM变成该ROM的一种适配方式;同时Patchrom平台指的是将需要注入的Smali代码开放出来,并提供一些自动化的编译环境,规整注入的Smali代码,使得第三方开发者能够快速的将系统原生ROM适配为该ROM的一个开放平台。Smail Injection技术指的是通过Android的反编译技术,将需要注入的Smali代码注入原有代码当中,使其拥有修改过的API和功能的技术。
跨芯片平台适配基于反编译技术,采取插桩的方式注入该ROM的代码到厂商原生框架层中,无需修改C层代码,能够跨越芯片平台进行开发,可用于市面所用芯片平台的开发。
稳定性好基于原厂ROM适配,不修改Kernel层和硬件抽象层代码,避免这部分修改带来的不稳定,相比源码开发,更稳定,能保证所有硬件正常工作。而且使用厂商提供的所有核心应用和特有功能,保证功能齐全。
维护成本低无需修改Kernel层和硬件抽象层代码,易于开发。提供自动化编译环境,基本实现smali插桩自动化,减少手动插桩,由于规避了Library和硬件层的开发工作,以及这部分开发所带来的问题,开发出的ROM有bug少,稳定好的优点,很好降低了后续开发中的维护成本。
提供OTA服务提供OTA包制作所需要的环境和脚本,让开发者快速制作出增量升级包,提高开发ROM效率和便捷性。并提供WEB端服务给开发者,方便开发快速的把升级包推送给自己的用户,提高开发效率和用户体验。
网友评论