最近接到很多兄弟们的求助,也回答过无数个和下面这个问题类似的问题:
如何编译android 原生代码得到一个rom,然后跑到某某手机上。
鉴于很多兄弟对这块不清楚,我这里一并简单回答之。
1 ROM包含两个基本的image,一个是boot.image,这个image中主要是kernel和文件系统/目录下的一些东西。kernel我就不说了,/目录下主要是init和相关的配置文件
system.image是android系统的userpace的核心,包括/system/bin,system/lib,system/app下的一些东西。
2 手机,不同手机,其内部使用的芯片,配置等等都不同。另外,android源码中并不包含硬件相关的代码。也就是说拿标准源码编译出来的仅仅在模拟器上跑跑还可以,
拿到真机上,跑也许能跑起来,但也就把手机当个模拟器使,电话,audio,wifi等等和硬件相关的都不能用。没有什么为什么会这样,硬件相关的驱动是厂商的闭源代码,
绝对不可能放出来。 不过,android中自带一些htc/sumsing的二进制HAL层so,也是在编译对应device的时候拷贝到system.image中去的。
所以,基于上面的认识,兄弟们就不要想着拿标准源码搞出一个能正儿八经跑的rom了。除此之外,手机还有AP/BP之分,BP的代码是另外一套,相当于另外一个OS,用于
modem通信的。即使你能搞定AP,BP也不要想了
3 CM是怎么搞出来的?CM不是神仙,它的工作我估计分下面几个来完成:
1 boot.image,有可能是直接基于厂商的。例如在HTC G7移植中,直接使用了G7官方的ROM
2 system,image中,跟硬件无关的(也就是非HAL层代码),爱怎么改怎么改。
3 system.image中,跟硬件相关的,先通过adb pull把官方的so弄出来,然后放到自己的ROM中。这里的工作比较难,但理论上是可以做到二进制兼容的。
从上面可知,如果官方没有提供4.0的ROM,CM也歇菜。(我个人觉得其实是可以在4.0中使用2.3的so的,方法可以通过dlopen方式加载,中间再做一层隔离。但如果
依赖的头文件发生变化了,那工作量就大了去了)
4 MIUI,点心OS,是CM之上的二次开发。国人的拿来主义造就了MIUI和点心等其叫嚣着做ROM的公司。
综上,兄弟们不要想着凭一己之力搞个牛叉的ROM了,没必要,没意义。
1 想搞rom的,建议在CM基础上做二次开发,和硬件相关的统统都不要动。
2 想改ui的,也可以基于现有的system.image,换换图片,然后再打包成image。这个网上有很多做法。技术含量不高,玩玩可以了。
ANY WAY,谢谢兄弟们的信任。欢迎高手就上述知识点和大家argue。
分享到:
相关推荐
这些工具可能包含了一些自动化脚本,能够简化原本复杂的手动操作步骤,让不具备高级技术知识的用户也能尝试ROM移植。 标签"rom移植"进一步明确了这个工具的核心功能。ROM移植通常涉及到以下步骤: 1. **获取源ROM**...
替换自己手机专用的文件,一般我们要下载近似机型的ROM,我们下载了以后,要先把自己手机专用的文件替换进去: boot.img和bcm4329.ko分别为内核和无线驱动,一般来说换内核必换的system/lib/modules/bcm4329.ko, 这...
本文将基于给定的文件信息,详细解析ROM移植的关键知识点,包括其背景、组成部分、以及具体的移植步骤,旨在为Android开发者提供一份详尽的指导手册。 #### Android系统结构概览 Android系统,作为全球最广泛使用...
ROM移植是Android系统中的一个高级技术,它涉及到操作系统内核、驱动程序、用户界面等多个层面的定制与优化。华为Ascend D1 U9500是一款经典的Android智能手机,通过ROM移植,我们可以为它带来全新的系统体验,比如...
……首先,本篇中我们讲的是第三方 ROM 的移植,不包括官方 ROM 和官方 ROM 美化版,在第一章中我们 也有所介绍,关于官方 ROM 的移植,我们后续文章中将会有所介绍。 在这里我们推荐选用 CM 的 ROM 作为 base ...
《Rom助手:Android ROM工具15.1版的精简解析》 在移动操作系统的世界里,Android以其开放性和可定制性赢得了广大用户的喜爱。而针对Android系统的个性化需求,Rom助手15.1版应运而生,这是一款专门用于Android ROM...
在使用Android_ROM_Tool_v2.0.1前,用户应确保自己的设备已解锁Bootloader,并且具备一定的安卓系统知识,以避免不必要的风险。同时,该工具可能需要配合其他软件,如Fastboot、ADB等,来进行更复杂的操作。 总的来...
总之,ROM移植是一个涉及多方面技能和知识的复杂过程,需要对设备硬件、操作系统、文件管理和安全都有一定了解。提供的文件可能涵盖了这一过程中的关键工具和指导,帮助用户成功完成ROM的移植。
### 手机ROM移植手册 #### 一、概述 随着移动技术的发展,用户对于智能手机操作系统的需求日益多样化。针对这一需求,不少爱好者和技术人员选择自定义ROM(Read-Only Memory),即通过对现有移动操作系统进行定制...
【Android_ROM_Tool_v2.0.3】是一款专为安卓系统设计的ROM编辑工具,它提供了丰富的功能,帮助用户自定义、修改和优化他们的安卓设备的系统固件。这款工具对于那些希望深度定制自己手机系统的爱好者,或者开发者来说...
### 制作Android ROM的步骤详解 #### 一、引言 随着移动互联网技术的发展,越来越多的技术爱好者希望根据自己的需求定制Android系统。本文将详细介绍基于已有ROM基础之上进行定制的具体步骤,帮助读者理解整个定制...
手机ROM移植DIY 1. 系统框架 2. 移植的主要工作 3. Linux内核与驱动程序介绍 4. 编译环境的搭建 5. 中间件关键技术详解 6. WIFI模块分析 7. 启动流程分析 8. 文件系统介绍 9. 编译语法简析 10. 系统移植 11. 调试...
### Android ROM 制作、移植及精简教程详解 #### 一、Android系统文件夹结构概览 在深入了解Android ROM的制作与精简之前,首先需要熟悉其基本的文件夹结构。一个完整的Android ROM通常包括以下关键部分: 1. **...
在Android系统中,ROM(Read-Only Memory)是包含了操作系统、预装应用和其他必要软件的固件部分。对其进行分解和定制签名是Android开发者和爱好者为了实现个性化或优化系统性能的常见操作。本教程将深入探讨Android...
ROM移植,对于许多Android爱好者来说,是一个充满挑战和乐趣的过程。通过移植,用户可以在不同的设备上体验各种定制化的操作系统,如MIUI、CM等。本文将详细解释如何将MIUI ROM移植到CM ROM上,让小白也能轻松上手。...
在Android系统中,ROM(Read-Only Memory)通常指的是手机的操作系统镜像,包含了系统核心、应用程序、设置等。为了确保系统的安全性和防止恶意软件篡改,Android ROM在发布或安装到设备之前需要进行签名。签名过程...
想写点关于安卓ROM的一些教程 也许教程和网上一些类似 不过绝对是我自己的理解以及实战教程 先来第一篇 写帖子不容易 都要慢慢的来 开始:
【Android 6.0移植材料详解】 Android 6.0,代号Marshmallow,是Google在2015年推出的Android系统版本,带来了许多新功能和改进,如权限管理的优化、Now on Tap智能助手、Doze电源管理模式等。本资料包"patchrom ...