手机rom移植教程(rom移植教程 原来移植是那么简单)

石恒婷
导读 大家好,小晋来为大家解答以上问题。手机rom移植教程,rom移植教程 原来移植是那么简单很多人还不知道,现在让我们一起来看看吧!1、分析

大家好,小晋来为大家解答以上问题。手机rom移植教程,rom移植教程 原来移植是那么简单很多人还不知道,现在让我们一起来看看吧!

1、 分析整个ROM包的大致框架和各个文件的作用。

2、 1/app这个主要存储常规应用,都是以apk格式结尾。这个文件夹下的程序是系统默认的组件,个人安装的软件不会出现在这里,而是在data文件夹下。

3、 目录2/bin下的文件都是系统的本地程序。从bin文件夹的名字可以看出,它们是二进制程序,主要是Linux系统的组件。

4、 3/etc系统的所有配置文件都存储在这个文件夹中,比如APN接入点设置的核心配置。

5、 4/这个文件夹中的字体,除了标准字体和粗体斜体,可以看到最大的文件大小可能是中文字体或者一些unicode字体。

6、 5/Framework这个文件夹主要包含系统平台的一些核心文件和5system/framework。

7、 6/lib目录主要存储系统的底层库,比如系统平台运行时的服务库。移植过程中的很多关键点都在这里。

8、 7/MEDIA这个文件包括引导动画的文件,音乐铃声文件夹,以及一些系统提示声音文件。

9、 8/usr用户文件夹,包括共享时区文件键盘的一些布局文件。

10、 接下来介绍一些相关文献。

11、 系统/箱的一部分

12、 Systeminapp_process系统进程systemindalvikvmDalvik虚拟机主机systemindBUS-daemon系统总线监控系统indebugrd系统indebug_tool调试工具systemindexoptDEX选项systemindhcp CdDHCP服务器systemindumpstate状态抓取系统indumpsys系统抓取系统inhcidHCID内核

13、 系统安装存储安装程序systemin1.soDRM解析库

14、 2.Xuei刷机ROM移植前的准备

15、 1首先建议安装比较工具BeyondCompare(网上资源很多,直接百度或者google搜索BeyondCompare)。

16、 2建议Linux环境下的ubuntu系统(著名的安卓厨房工具都可以在这个系统下使用)

17、 3如何使用安卓厨房工具此处省略.(安卓厨房工具中文版中的相关功能指引明确,简单易用)

18、 4准备好待移植模型的底袋,移植XUI,找到合适的底袋也是关键。本教程讲的是第三方ROM的移植,不包括官方ROM和官方ROM美化版。

19、 选择底包的条件是:

20、 0)首先在相应官网找到分辨率相近的型号。

21、 1)首先你要找到自己对应的型号ROM,比如CM10。如果推荐Android4.0,应该用AOKP (Google开源非官方代码项目)版本ROM。

22、 2)选择作为底层封装的ROM,功能性要尽可能强;也保证了毛笔字体的通用性;刷机包的META-INF/com/google/android/中的updater-script就是刷机脚本。打开画笔脚本,删除第一行关于模型验证的代码。画

23、 3)如果为自己机型开发的rom不多,尽量选择同一厂商同一平台的其他机器的rom。

24、 4)尽量选择zip格式的卡刷包。

25、 迁移过程中要执行的三项操作

26、 首先,移植XUI的应用层和框架层。这一步是用系统文件夹中的应用程序和框架的内容替换XUI文件的内容。

27、 如下图:

28、 2移植应用层(系统/app)

29、 如下图:备注:如果没有这个文件,需要添加。

30、 3移植系统框架层(system/framework)

31、 如下图:备注:以上文件如果有一部分没有,需要补充。

32、 4移植lib库文件(system/lib)

33、 如下图:备注:以上文件如果有一部分没有,需要补充。

34、 5迁移bin文件(系统/bin)

35、 如下图:备注:以上文件如果有一部分没有,需要补充。

36、 6系统中的system/etc文件暂时不需要移植。

37、 7在系统/媒体文件中,有开机动画和一些自己添加的铃声。可以根据自己的喜好决定是否移植。

38、 最后,修改build.prop文件。

39、 本贴隐藏内容ro.xda.version=此处的值必须保持移植XUI的build.prop中的值。例如,如果是Bate1.9,则值必须是Bate1.9,否则会影响XUI新版本的升级提示。

40、 Ro.build.date=该移植版本的生产日期。(请注意日期显示的格式,否则会出现乱码)

41、 Ro.build.display.id='你可以在这里加上你的昵称,签上制作人的名字'

42、 Ro.product.model=手机的型号;方便正确识别一些辅助软件(如豌豆荚91助手等。).

43、 Ro.xda.device=该值是移动电话设备的名称。

44、 ro.modver

45、等等

46、五移植完成以后进行为ROM签名打包

47、顺利完成上述步骤后,有关XUI移植的ROM工作基本完成,接着要对移植的文件进行签名打包,这个时候就要用的上文中提到的“android厨房工具”,有关android厨房的签名打包过程,在这里就不一一赘述。

48、将打包得到的zip压缩文件放于sd卡,进入刷机模式进行刷机,想必大家进行移植操作的对刷机流畅都很熟悉了。

49、六刷机测试过程中,对一些常见的bug的分析以及解决的方法

50、鉴于每位ROM制作者所移植的机型不同,进行了不同的修改和替换,难免在刷机和测试过程可能出现一些bug,接下来是一些常见的bug以及问题的解决方法:

51、1bug:在进行刷机测试时候,手机屏幕卡在第一屏不能进去系统或者卡在开机动画或者无限重启。

52、解决方法:对该机型单刷底包的boot.img。如果是自己在移植过程中多替换或者没有替换system/etc或者system/bin内的文件,单刷boot.img也是无济于事。

53、2bug:刷机测试能进去系统,但是会提示launcher异常终止手机主界面图标显示不完全

54、解决方法:重新找到和所要移植的XUI分辨率相同或者相似的合适的底包。

55、3bug:刷机测试wifi和蓝牙打不开

56、解决方法:替换底包或者相同机型的其他ROM的wifi或者蓝牙相关的组件。同时也不排除是在移植过程中没有正确移植相应的库文件和驱动。

57、4bug:刷机测试,手机SIM卡上网是信号时有是无

58、解决方法:找到所移植的XUI包内的lib文件夹下,将libganril.so和libreference-ril.so(不同的机型相关文件可能还有其他几个)重新替换到移植后的底包,再重新打包刷机。

59、以上只是简简单单的提到几个常见的问题和解决的方法,可能在移植过程和测试过程中还会有其他的bug,欢迎大家将问题反馈到XDA智能手机论坛,这里有专业的技术团队成员为您解答疑惑,同时XDA论坛有更加丰富的智能手机资源。

60、最后,祝您移植XUI成功!请大家不要觉得该移植过程繁琐,因为只有亲身体会了才知道移植ROM其中的乐趣和刷机成功那一刻的兴奋与激动。

本文到此结束,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!