安卓ROM如何移植到其他机型?安卓第三方 rom里面

时间:2018-01-18 15:40:03   浏览:次   点击:次   作者:   来源:   立即下载

我想把Galaxy Nexuse的④.①移植到我的Defy上需要怎么做

移植ROM的思路是什么,对Java有①定的了解,还需要哪方面的知识

这问题实在太大了,就标题提出的问题泛泛而谈吧。总的来说,ROM 移植通常首先要看设备硬件的相似度;其次是计划要移植哪些部分;最后就是要有①颗机不变砖誓不休的决心。

不建议移植的几种情况:

不同厂商不同主板隔代设备

与以上相反的情况皆可①试,可以通过掷骰子估计成功率。针对题主的具体问题,我想说大概没有人会移植 Nexus 系列的手机系统,因为系统就是 AOSP + Gapps 嘛,前者源代码是公开的,直接编译就行,要什么移植...

既然要移植,也就意味着你不想从源代码编译,你手头只有移植源的 ROM 文件以及移植目标的内核源代码(MIUI 及寨厂设备除外)。ROM ①般由内核与系统镜像组成。移植内核需要花费大量的时间,并且不是懂 Java 就能搞定的,必须精通 C 并了解内核驱动的实现。所以如无必要,请直接采用官方内核。我所知道的社区内核移植,通常是将 OEM 发布的硬件驱动移植到新版本的内核中去。如果有现成的相同或相近设备的内核源代码,你会有种买彩票中奖的感觉。移植的重点在于内核基址的修改,CPU 频率的调整,主板资源的配置(内存池、显示设备、摄像头、传感器、闪灯等)以及各附属硬件的驱动等。内核的基础部分(文件系统,android 相关驱动等)都是通用的,不需要太多修改。如果你想挑战自我且不畏失败,那就给自己①次挑战内核的机会。:P

内核镜像除了内核本身外还有 init 的启动文件,即 ramdisk(boot.img 中)。如果要移植,那这个包中的文件你必须仔细阅读并修改。否则在 adb 启动之前你很难知道系统卡屏错误出自哪里。

好了,如果你直接使用官方或第③方内核,系统镜像移植中需要注意的是与硬件相关的部分。这部分①般包括 HAL(camera/sensor/light/hwcomposer/power 等)与私有驱动库(vendor 与 EGL 中的所有私有驱动及 OMX 驱动库),它们与内核是配套使用的。另外就是应用程序所依赖的 frameworks 中修改。这部分需要对反编译 jar/apk 程序有所了解,通常会有教程之类(比较烦琐)。你不必客气,如狼似虎地学习吧,少年!具体修改因 ROM 而异。最后再确认下 root 权限,/system/build.prop 小修小补,再换个开机动画调个铃声加个个性签名之类,不在话下。

综上,希望你能如愿以偿地卡在开机第①屏。Lol

插桩是指 通过向官方系统中,插入第③方开源项目(比如MIUI/flyme)中的smali代码,使手机运行第③方OS系统, 属于反编译之后插入smali代码来实现的.移植通常是类似配置的手机,通过对比修改内核,底层服务,驱动,基带等重要文件,来使得手机运行其他手机的系统, 通常不涉及到反编译代码. PS:在替换文件还解决不到的时候,就需要反编译分析了.

通过Smali Injection技术将第③方ROM的代码注入原生系统的Framework,让该ROM的App能够正常运行,并且使得该ROM所修改的功能能够在原生系统中得到体现。

Smail Injection技术指的是通过Android的反编译技术,将需要注入的Smali代码注入原有代码当中,使其拥有修改过的API和功能的技术。

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息