ColorOS适配教程img文件如何打开
目录
1PatchRom使用介绍 (3)
1.1选择合适的ROM包 (3)
1.2使用PatchRom (3)
1.3修改boot.img (4)
1.4修改build.prop (6)
1.5刷机 (6)
2移植介绍 (7)
2.1移植详解 (7)
2.2工具介绍 (9)
2.3移植ColorOS Framework (9)
2.4移植ColorOS App (10)
2.5相机、相册问题 (12)
3注意事项 (12)
1PatchRom使用介绍
1.1 选择合适的ROM包
市面上的手机都有着众多的ROM,我们应该如何选择一个合适的ROM包作为基础包呢?
目前提供的两套ColorOS分别基于4.2 Google源码和MTK6589平台开发,第三方机型4.2的原厂ROM 版本都是合适的。
原厂ROM版本虽然稳定性高,但是通常情况下原厂都会对自己的ROM进行大规模的修改。对于开发者而言,适配难度较大。因此开发者可以选择更接近Google源码的CM或者AOKP的包作为底包。当然,所选择的ROM包功能要尽量完善,稳定性尽量的高。
1.2 使用PatchRom
ColorOS基于不同平台发布两款不同的PatchRom脚本:color_2.0_patchrom_for_ 4.2_[版本号].zip和color_2.0_patchrom_for_mtk4.2_[版本号].zip。
color_2.0_patchrom_for_4.2_[版本号].zip基于AOSP开发,适用于非MTK平台。color_2.0_patchrom_fo r_mtk4.2_[版本号].zip基于MTK 6589平台开发,适用于MTK 6589、6572、6582平台。MTK 6592平台代码差异较大,用该PatchRom适配难度大,目前暂不支持。
build: 该目录存放ColorOS特APK,资源文件,库文件,smali代码以及使用到的工具。
tools: 该目录存放一些工具和脚本,在订制ROM和编译过程中需要使用这些工具和脚本。
device: 第三方ROM包放在该目录下。执行完脚本会打包生成一个第三方订制的ColorOS ROM包。
PatchRom使用步骤:
1.将升级包命名为update.zip放在device目录下;
2.在当前目录执行". build/envsetup.sh";
3."cd device;make firstpatch",根据device目录下的temp/reject文件,在device/smali 路径下修改插桩失败文件;
4.对于非MTK平台机器,如果smali/framework.jar.out文件夹太大会导致打包失败,需要进行手动分包;
5.在device目录下执行"make fullota",在device目录下生成color-update.zip就是生成的color升级包。
注意事项:
1.修改boot.img,默认打开USB调试,加载oppo-framework.jar。
2.对于非MTK平台机器,当第三方ROM包包含两个framework.jar时(例如ROM 包包含framework.jar和framework2.jar情况),需要修改device/makefile里的两个变量:ORGIN_SECOND_FRAMEWORK_NAME: 填入欲编译机器第二个framework 文件名;
COLOR_FRAMEWORK_JARS: 填入欲编译机器的framework文件,主要看是否有第二个framework。
3.对于非MTK平台机器,如果需要分包,请在smali文件夹下新建XX.jar.out格式的文件夹(例如:second-framweork.jar.out),并手动进行分包;
4."device/custom-update":定制的文件夹,make fullota时会直接覆盖过去,所以文件夹结构需要和升级包的保持一致,里面放一些原版不可删除的system/app/下面的apk 或者自己新增或修改的一些文件;
5.如果获取到的升级包是odex的,需要先使用deodex工具合并,默认使用apilevel15 合并命令如下:
deodex.sh update.zip
如果执行出错,请尝试指定apilevel值,如下:
deodex.sh -a 17 update.zip
1.3 修改boot.img
内核root 的关键是根文件系统中default.prop文件的两个属性ro.secure和ro.debuggable 的值。根文件系统和内核一起放在boot分区中,如果我们能够修改boot 分区中的这个文件,那么我们就可以自己root 内核了。
一般来说某个机型的完整刷机包下有一个boot.img 文件,该文件就是boot分区的镜像文件,安装刷机包时,会使用该文件刷写boot分区。Google给boot.img 文件定义了一个标准的格式,如果遵从这个标准格式,我们可以用下面的办法来修改它,但是如果不遵从,需要逛论坛详细的了解如何修改boot分区。
我们在patchrom 目录下,给定一个boot.img,输入命令解压boot.img:
tools/bootimgtools/split_bootimg.pl boot.img
解压后会看到一个文件,该文件即是根文件系统的压缩包。还有一个boot.img-kernel 文件,该文件即是Linux 内核。
创建一个新的名叫ramdisk的目录,用于存放ramdisk盘中的文件。然后,提取出ramdisk文件。命令如下:
mkdir ramdisk
cd ramdisk
gzip -dc ../ | cpio –i
ramdisk目录即为手机启动后的根文件系统目录,用任何编辑器修改default.prop文件和文件。
default.prop修改ro.secure和ro.debuggable的值为:
ro.secure=0
ro.debuggable=1
<修改导入oppo-framework.jar。如果对framework.jar进行了手动分包,此处也需要导入。
export BOOTCLASSPATH
/
system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastl e.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/oppo-f ramework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.ja r:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/ap ache-xml.jar
修改完成后开始打包
tools/bootimgtools/mkbootfs ramdisk | gzip >
tools/bootimgtools/mkbootimg --kernel boot.img-kernel -- -o oppo-boot.img
然后,复制到刷机目录中,替换原来的boot.img。oppo-boot.img需要重命名为boot.img。
1.4 修改build.prop
必须在build.prop文件中按照要求进行相应的修改。修改版本号,添加作者名和渠道。为了OPPO能够进行统计,以更好的帮助开发者解决问题。
在任意位置添加:
ro.build.author=输入开发者名
ro.build.channel=输入渠道名,个人开发者统一填“OPPO”
修改版本号:
ro.build.display.id=ColorOS_机型_开发者_日期
(例如:ColorOS_I9500_CircleLee_140312)
1.5 刷机
不同机器刷机步骤略有不同,这里以三星为例:
1、将制作好的zip升级包push到SD卡,通过adb shell命令到sd卡中查看update.zip 包的大小是否一致保证zip包完整。如果确认无误后关机,进入下一步操作。
2、手机先完全的关机,然后同时按住下音量下键+ HOME键+ 电源键,等待出现英文界面
3、然后再按音量上键,进入界面为绿机器人,此为刷机模式
4、用odin刷机工具刷入第三方recovery
5、关机后,同时按住音量上键+ HOME键+ 电源键进入recovery模式
6、选择―wipe data/factory reset ―和‖wipe cache partition‖恢复一下出厂
7、选择―install zip‖
8、再选―choose zip from sdcard‖
9、选择刚下载的zip刷机包,点确认后,选择Yes
10、刷完后,返回首菜单,选择―reboot system now‖重启手机。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论