养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

rom移植教程 原来移植是那么简单

时间:2024-10-20 03:18:50

rom移植教程超详细原来移植是那么简单

工具/原料

手机一枚

方法/步骤

1、一粑颇岔鲷、分析整个ROM包内的大致框架及各个文件的作用system/app这个里面主要存放的是常规的应吹涡皋陕用程序,都是以apk格式结尾的文件,在这个文件夹下面的程序为系统默认的组件,个人安装的软件不会出现在这里,而是data文件夹中。system/bin这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件。system/etc该文件夹下保存的都是系统的配置文件,比如APN接入点设置等核心的配置。system/fonts该文件夹下除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库或者一些unicode字库。system/framework该文件夹下主要是一些核心的文件,是系统平台的框架。system/lib目录中存放的主要是系统的底层库,比如系统平台运行时的服务库,移植过程中很多关键的地方在于此。system/media该文件下包括开机动画的文件、音乐铃声文件夹,除此以外还包括一些系统提示音文件。system/usr用户文件夹,包括一些共享、时区文件、键盘的一些布局文件。接下来是一些相关文件的介绍部分System/bin\system\\bin\\app_process系统进程\\system\\bin\\dalvikvmDalvik虚拟机宿主\\system\\bin\\dbus-daemon系统BUS总线监控\\system\\bin\\debuggerd调试器\\system\\bin\\debug_tool调试工具\\system\\bin\\dexoptDEX选项\\system\\bin\\dhcpcdDHCP服务器\\system\\bin\\dumpstate状态抓取器\\system\\bin\\dumpsys系统抓取器\\system\\bin\\hcidHCID内核\\system\\bin\\mountd存储挂载器\\system\\bin\\netcfg网络设置\\system\\bin\\pingPing程序\\system\\bin\\playmp3MP3播放器\\system\\bin\\pm包管理器\\system\\bin\\qemudQEMU虚拟机\\system\\bin\\radiooptions无线选项\\system\\bin\\rildRIL组件\\system\\bin\\servicemanager服务管理器\\system\\bin\\ssltestSSL测试\\system\\bin\\su**ceflinger触摸感应驱动\\system\\bin\\svc服务部分system/etc\\system\\etc\\apns-conf.xmlAPN接入点配置文件\\system\\etc\\AudioFilter.csv音频过滤器配置文件\system\\etc\\bookmarks.xml书签数据库\\system\\etc\\dbus.conf总线监视配置文件\\system\\etc\\favorites.xml收藏夹\\system\\etc\\firmware固件信息\\system\\etc\\gps.confGPS设置文件\\system\\etc\\hcid.conf内核HCID配置文件\\system\\etc\\hosts网络DNS缓存\\system\\etc\\mountd.conf存储挂载配置文件\\system\\etc\\NOTICE.html提示网页\\system\\etc\\permissions.xml权限许可部分system/lib\\system\\lib\\libandroid_runtime.soAndroid运行时库\\system\\lib\\libandroid_servers.so系统服务组件\\system\\lib\\libaudio.so音频处理\\system\\lib\\libaudioeq.soEQ均衡器\\system\\lib\\libaudioflinger.so音频过滤器\\system\\lib\\libbluetooth.so蓝牙组件\system\\lib\\libcamera.so相机组件\system\\lib\\libcrypto.so加密组件\\system\\lib\\libdrm1.soDRM解析库移植XUI刷机ROM前的准备首先建议安装对比工具BeyondCompare(网上资源很多,直接百度或者google搜索BeyondCompare)建议Linux环境ubuntu系统(该系统下可以使用赫赫有名的Android厨房工具)Android厨房工具的使用方法在此略过...(Android厨房工具中文版里面相关的功能都有明确的指导,简单易用)准备要移植机型的底包,移植XUI,找到合适的底包也是关键所在。本教程中我们讲的是第三方ROM的移植,不包括官方ROM和官方ROM美化版。选取底包的条件是:0)首先在相应官网找到分辨率类似的机型。1)首先要找到自己对应机型ROM,如CM10,如果是Android4.0的推荐使用AOKP(谷歌开源非官方代码项目)版本的ROM。2)所选择的作为底包的ROM要尽量功能完善;还要保证刷机脚本的通用性;在刷机包的META-INF/com/google/android/内的updater-script是刷机的脚本,打开刷机脚本,将其中的第一行关于机型验证的代码删除。如图3)如果为自己机型开发的ROM不是很多的话,则尽量选取使用同一厂商同一平台的其它机器的ROM。4)尽量选择zip格式的卡刷包移植过程所要执行的操作首先移植XUI的应用层和framework层,该步骤是将替换system文件夹下的app和framework为XUI的文件内容如下图:移植应用层(system/app)如下图:备注:如果没有上述文件,就要添加。移植系统框架层(system/framework)如下图:备注:如果没有上述某些文件,则需要添加移植lib库文件(system/lib)如下图:备注:如果没有上述某些文件,则需要添加移植bin文件(system/bin)如下图:备注:如果没有上述某些文件,则需要添加系统内的system/etc文件暂时不需要移植在system/media文件内是开机动画和一些系统铃声已经自己添加的铃声,可以根据自己的喜好来决定是否移植。最后修改build.prop文件本帖隐藏的内容ro.xda.version=此处的值必须保留所移植的XUI的build.prop内的该值,比如是Bate1.9,则该值必须是Bate1.9,否则会影响新版本XUI的升级提示。ro.build.date=该移植版本的制作日期。(请注意日期显示的格式,否则会出现乱编码)ro.build.display.id="在此可以添加自己的昵称,签上制作者名"ro.product.model=手机的型号;便于一些辅助软件的正确识别(比如豌豆荚、91助手等)。ro.xda.device=该值是手机设备的名称ro.modversion=所移植的ROM的版本号。(比如该版本是X-UI-Beta1.9)等等移植完成以后进行为ROM签名打包顺利完成上述步骤后,有关XUI移植的ROM工作基本完成,接着要对移植的文件进行签名打包,这个时候就要用的上文中提到的“android厨房工具”,有关android厨房的签名打包过程,在这里就不一一赘述。将打包得到的zip压缩文件放于sd卡,进入刷机模式进行刷机,想必大家进行移植操作的对刷机流畅都很熟悉了。刷机测试过程中,对一些常见的bug的分析以及解决的方法鉴于每位ROM制作者所移植的机型不同,进行了不同的修改和替换,难免在刷机和测试过程可能出现一些bug,接下来是一些常见的bug以及问题的解决方法:bug:在进行刷机测试时候,手机屏幕卡在第一屏不能进去系统或者卡在开机动画或者无限重启。解决方法:对该机型单刷底包的boot.img。如果是自己在移植过程中多替换或者没有替换system/etc或者system/bin内的文件,单刷boot.img也是无济于事。bug:刷机测试能进去系统,但是会提示launcher异常终止、手机主界面图标显示不完全解决方法:重新找到和所要移植的XUI分辨率相同或者相似的合适的底包。bug:刷机测试wifi、和蓝牙打不开解决方法:替换底包或者相同机型的其他ROM的wifi或者蓝牙相关的组件。同时也不排除是在移植过程中没有正确移植相应的库文件和驱动。bug:刷机测试,手机SIM卡上网是信号时有是无解决方法:找到所移植的XUI包内的lib文件夹下,将libganril.so和libreference-ril.so(不同的机型相关文件可能还有其他几个)重新替换到移植后的底包,再重新打包刷机。以上只是简简单单的提到几个常见的问题和解决的方法,可能在移植过程和测试过程中还会有其他的bug,欢迎大家将问题反馈到XDA智能手机论坛,这里有专业的技术团队成员为您解答疑惑,同时XDA论坛有更加丰富的智能手机资源。最后,祝您移植XUI成功!请大家不要觉得该移植过程繁琐,因为只有亲身体会了才知道移植ROM其中的乐趣和刷机成功那一刻的兴奋与激动。

© 一点知识