安卓系统移植经验之谈,教你三分钟移植

合集下载

安卓rom移植教程2篇

安卓rom移植教程2篇

安卓rom移植教程2篇第一篇:安卓ROM移植教程ROM移植是一项技术难度较高的工作,它可以让我们将适用于一个设备的安卓系统移植到另一个设备上。

移植成功后,我们就能够在新设备上使用原本不适用的安卓系统,从而拥有更强大的功能和更好的体验。

下面,我将为大家介绍安卓ROM移植的基本步骤。

第一步:了解源ROM和目标设备在进行ROM移植之前,我们首先需要了解源ROM和目标设备的情况。

源ROM指的是我们希望移植的安卓系统,而目标设备则是我们要将源ROM移植到的设备。

我们需要获取源ROM的系统镜像文件和相关的驱动程序,同时需要了解目标设备的硬件配置和系统要求。

第二步:提取源ROM的系统镜像文件提取源ROM的系统镜像文件是进行ROM移植的关键一步。

我们可以使用一些工具,如Android Kitchen或者MTK Droid Tools等,来提取源ROM的boot.img、recovery.img以及system.img等文件。

这些文件包含了安卓系统的核心部分,我们需要将它们复制到电脑上进行后续的处理。

第三步:编译目标设备的内核编译目标设备的内核是进行ROM移植的另一个重要步骤。

我们需要根据目标设备的硬件配置和系统要求,选择合适的内核源代码,并进行相关的编译和配置工作。

这个过程可能会比较复杂,需要有一定的编程和操作系统的基础知识。

第四步:修改源ROM的配置文件在进行ROM移植之前,我们还需要对源ROM的配置文件进行修改。

这些配置文件包括了源ROM的设备树文件、启动脚本和其他一些相关文件。

我们需要根据目标设备的硬件配置和系统要求,对这些配置文件进行适当的修改和调整。

第五步:替换目标设备的驱动程序移植ROM的一个重要环节是替换目标设备的驱动程序。

我们需要将源ROM中的驱动程序替换为适用于目标设备的驱动程序,以确保ROM 能够在目标设备上正确运行。

这也是一个比较复杂的步骤,需要根据目标设备的硬件配置和系统要求,进行相应的驱动程序替换和调试工作。

安卓AndroidROM定制移植第八篇ROM单刷包的制作即刷机语法

安卓AndroidROM定制移植第八篇ROM单刷包的制作即刷机语法

安卓AndroidROM定制移植第八篇ROM单刷包的制作即刷机语法美化系统必学、安卓AndroidROM定制、移植定制rom也已经讲了一段时间了,不过不知道大家究竟有没有明白,今天给大家写一些单刷包的制作过程,一般来说都是用recovery刷机的,不过也有特殊的时候,这个暂且不论,开始!比如,接下来的篇章中,大多数是关于美化篇,那么就肯定需要这个东西,首先,看清楚单刷包的结构。

一般来说就是这两个东西META-INFSYSTEM如果你看了前面的几篇文章,那么这篇估计结构就懂了。

一般我没美化都是修改SytemUI.apk、framework-re.apk或者font 文件夹中的字体文件。

首先针对recovery3.0以下的同学使用的是update-cript语法,那么如下首先找一个你机型的刷机包,去掉其他只留这两个文件META-INF和ytem美化系统必学、安卓AndroidROM定制、移植update-cript用notepad++打开删掉所有的,并复制如下命令插入how_progre0.10deleteSYSTEM:app/SytemUI.apkdeleteSYSTEM:framework/framework-re.apkhow_progre0.13copy_dirPACKAGE:ytemSYSTEM:how_progre0.17et_perm000644SYSTEM:app/SytemUI.apket_perm000644SYSTEM:framework/framework-re.apkhow_progre0.110命令解释:deleteSYSTEM:app/SytemUI.apk删除ytem/app/SytemUI.apkcopy_dirPACKAGE:ytemSYSTEM:复制刷机包内的文件到相应的位置,其实呢,整个单刷包就这句就行,不过为了保险,还得加上这些语句!et_perm000644SYSTEM:app/SytemUI.apk为ytem.apk授权how_progre0.10等是进程提示符美化系统必学、安卓AndroidROM定制、移植修改后删除META-INF下的CERT.RSA、CERT.SF,然后压缩包,进行签名,用APKTOOL或者任何可用的签名工具都可以。

1分钟就懂!教你快速迁移旧手机数据一步到位不用调

1分钟就懂!教你快速迁移旧手机数据一步到位不用调

1分钟就懂!教你快速迁移旧手机数据一步到位不用调身为一个手机编辑,身边的朋友、亲戚在日常使用手机时遇到不懂的事项都会向我询问,正逢4-5月又是一年中换机季的到来,七大姑八大姨换了新手机都不知道怎么腾数据,周末手机都响个不停。

所以,今天笔者就用简单的方式来普及一下不同品牌(OPPO、vivo、荣耀、小米、iPhone等),以及不同系统(安卓换iOS,iOS 换安卓)的换机步骤、小技巧,以及对微信、QQ等软件数据的迁移方式,包你快速学会。

第一步:先看自己手机的操作系统是什么首先,我们要提前确认好自己的手机使用的是什么操作系统。

进入“设置”-“我的手机”一般就能找到自己的操作系统类型,以及版本号。

之所以要先明确好手机预装的系统,主要是因为大部分厂商都仅支持相同操作系统之间的软件数据互传,比如vivo-iQOO,OPPO-realme等等,其他操作系统只能转移APP本体,文中也会为用户普及QQ、微信等软件的独立数据转移功能。

系统版本能在设置界面中找到第二步:分版本查找换机软件新机是OPPO、一加、realme等ColorOS(ColorOS Ocean)系统:在桌面首页向左滑动,进入负一屏界面,然后在上方搜索栏输入“手机搬家”;输入之后,下方会出现手机搬家APP图标,点击后稍作等待就会自动打开,随后选择“我是新手机”,OPPO、一加、realme等旧设备可以用同样的操作安装“手机搬家”软件直接迁移,其他品牌根据内部操作扫码下载对应软件即可完成迁移。

新机是vivo、iQOO等OriginOS(OriginOS Ocean)系统:Origin系统的操作方式比较类似,在负一屏搜索“一键换机”,或者直接在设置项中搜索也可以。

旧手机需要事先在应用商店下载好“互传”软件,可以对手机内置的APP、图片等个人数据进行转移。

这里有一点要注意:vivo和vivo手机能全机互传,其他安卓手机只能转移APP本身,数据并不支持。

任意安卓移植ROM教程,超详细ROM技术学习

任意安卓移植ROM教程,超详细ROM技术学习

任意安卓移植ROM教程,超详细ROM技术学习相信有过刷机经历的都知道安卓系统的构造,我们讲述一下安卓的几大组成:从内核基于linux开始,整个系统就运行在一个虚拟机上,这是安卓的一大特征!!那么我们移植的时候要修改哪一部分?这就是我们这个帖子的重点了。

在刷机时,我们大多使用zip格式的升级包进行刷机,那zip 格式的升级包是怎么样的一个组成呢?一个zip升级包的完整构造,其中我们要移植所需要修改的就是META-INF里的刷机脚本。

对于这个构造,有必要完整的解释一次。

META-INF这里面主要是签名文名和刷机时执行的脚本(updater-script),移植时,我们主要要更改的就是刷机的脚本。

system这里面就是android的系统部分app这里存放的是系统的app,每个app都有两个文件,一个*.apk,一个*.odex,我们在移植时,要将这个文件合并到对应的*.apk里面去,apk文件其实就是一个zip文件,可以用WinRAR或7zip打开的,当然,合并odex文件不是把它改名直接放到apk里去这么简单的,后面具体介绍一下。

还有,这个文件夹里面的程序,刷完以后是不能通过程序管理来卸载的。

bin这里面存放的是native程序,不好意思,一下子忘掉中文怎么说了。

简单来说,apk是JAVA 程序,而这个是C/C++的程序。

etc这里面存放的是系统默认的配置文件,GPS的配置也在这里J。

fonts这个是字体文件夹,一般很少改动,除非要做美化framework这里存放的是android框架,移植MIUI,很多改动在这个文件夹里,美化ROM的话,主要改framework-res.apk就可以了。

当然,MIUI本身就有主题机制了,不用这么麻烦去改。

这个文件夹里也会有对应的odex文件。

lib一些通过的类库,一般是由app/bin里面的程序调用的。

media媒体文件,要添加系统默认的铃声就在这里了。

如果是别的ROM的话,壁纸也会放在这里面。

安卓rom简单移植

安卓rom简单移植

安卓rom简单移植以前移植过华为C8812的,觉得移植内容差不多,所以决定试试,毕竟N881E也有⼀批⽤户,下⾯列出我的⼀些办法,看看对中兴机⼦是否可⾏我以前移植华为的办法如下移植百度的应⽤层和framework 框架层(system/app system/framework system/tts这三个⽂件夹我⽤的是百度云N880E的底包)移植lib,不删减添加东西,但是其中的modules使⽤官⽅包的,⽤BeyondCompare 3⽐较多出来的⽤百度云的包移植system/bin 和system/xbin ⽂件夹全部⽤官⽅的移植system/media ⽂件夹整个⽂件夹必须使⽤百度的移植system/usr ⽂件夹把百度的keychars 和keylayout 两个⽂件删除,替换为官⽅包中的这两个⽂件夹移植system/etc ⽂件夹必须将百度云的⽂件夹中firmware ⽂件夹删除,替换为官⽅包中的firmware⽂件夹修改build.prop必须使⽤官⽅包中官⽅的build.prop,但是必须在build.prop 任意位置加⼊如下⼏⾏(对⽐了N880E百度和N881E官⽅的build.prop,发现百度修改和添加了⼀下prop,移植时如果官⽅的build.prop有这个属性,替换,没有则增加即可):ro.baidu.build.hardware=N881Ero.baidu.build.hardware.version=1.0ro.baidu.build.software=yi_3.0ro.baidu.build.version.release=2.1ro.product.manufacturer=Baidupersist.sys.emmc=/mnt/sdcard2ro.config.notification_sound=Ding.mp3ro.config.ringtone=Echo.mp3ro.config.alarm_alert=alarm.mp3删除以下⼏个属性ro.operator.optr=ro.operator.spec=ro.operator.seg=移植boot.imgboot.img 启动镜像必须使⽤⾃⼰⼿机的。

android系统安装教程

android系统安装教程

android系统安装教程Android系统安装教程(1000字)Android系统是由谷歌公司开发的一种移动操作系统,广泛应用于智能手机、平板电脑等移动设备上。

安装Android系统可以为您的设备增加更多功能和选择,以下是Android系统安装的详细教程。

步骤一:备份数据在开始安装之前,首先要备份您设备上的所有数据,以免在安装过程中丢失宝贵的个人文件和信息。

您可以通过将数据存储在云端、使用外部存储设备或将数据复制到计算机上来进行备份。

步骤二:解锁设备的引导程序(可选)如果您的设备已经解锁了引导程序,您可以跳过这一步。

如果您的设备还未解锁,请按照设备的指南或上网搜索相关教程进行解锁,因为不同设备的解锁方法会有所不同。

步骤三:获取合适的Android系统镜像在安装Android系统之前,您需要获取与您设备兼容的Android系统镜像文件。

您可以在Android官方网站或其他可靠的网站上找到适合您设备的系统镜像。

确保下载的镜像文件与您的设备型号和厂商完全匹配,以免出现兼容性问题。

步骤四:安装ADB和Fastboot工具在安装Android系统之前,您需要安装ADB(Android Debug Bridge)和Fastboot工具。

这两个工具可以帮助您在计算机上与设备进行通信,并进行后续的系统安装操作。

您可以从Android官方网站或其他可靠的网站上下载和安装这两个工具。

步骤五:连接设备到计算机在开始安装之前,您需要将设备与计算机通过USB数据线连接起来。

确保设备已开机且处于解锁状态,然后在计算机上打开命令提示符或终端窗口。

步骤六:进入设备的引导程序模式在计算机上启动命令提示符或终端窗口后,输入以下命令将设备进入引导程序模式:adb reboot bootloader这将使设备重启,并进入引导程序模式,该模式允许您在设备上执行特定的操作。

步骤七:刷入Android系统镜像一旦设备进入引导程序模式,您可以使用Fastboot工具将Android系统镜像写入设备的存储器中。

安卓移植教程

安卓移植教程

Android系统开发编译环境配置主机系统:Ubuntu9.04(1)安装如下软件包sudo apt-get install git-coresudo apt-get install gnupgsudo apt-get install sun-java5-jdksudo apt-get install flexsudo apt-get install bisonsudo apt-get install gperfsudo apt-get install libsdl-devsudo apt-get install libesd0-devsudo apt-get install build-essentialsudo apt-get install zipsudo apt-get install curlsudo apt-get install libncurses5-devsudo apt-get install zlib1g-devandroid编译对java的需求只支持jdk5.0低版本,jdk5.0 update 12版本和java 6不支持。

(2)下载repo工具curl /repo >/bin/repochmod a+x /bin/repo(3)创建源代码下载目录:mkdir /work/android-froyo-r2(4)用repo工具初始化一个版本(以android2.2r2为例)cd /work/android-froyo-r2repo init -u git:///platform/manifest.git -b froyo初始化过程中会显示相关的版本的TAG信息,同时会提示你输入用户名和邮箱地址,以上面的方式初始化的是android2.2 froyo的最新版本,android2.2本身也会有很多个版本,这可以从TAG信息中看出来,当前froyo的所有版本如下:* [new tag] android-2.2.1_r1 -> android-2.2.1_r1* [new tag] android-2.2_r1 -> android-2.2_r1* [new tag] android-2.2_r1.1 -> android-2.2_r1.1* [new tag] android-2.2_r1.2 -> android-2.2_r1.2* [new tag] android-2.2_r1.3 -> android-2.2_r1.3* [new tag] android-cts-2.2_r1 -> android-cts-2.2_r1* [new tag] android-cts-2.2_r2 -> android-cts-2.2_r2* [new tag] android-cts-2.2_r3 -> android-cts-2.2_r3这样每次下载的都是最新的版本,当然我们也可以根据TAG信息下载某一特定的版本如下:repo init -u git:///platform/manifest.git -b android-cts-2.2_r3(5)下载代码repo syncfroyo版本的代码大小超过2G,漫长的下载过程。

常规ROM移植的基本思路和方法,教你快速学会安卓系统移植

常规ROM移植的基本思路和方法,教你快速学会安卓系统移植

常规ROM移植的基本思路和⽅法,教你快速学会安卓系统移植很多⼈都不知道怎么移植ROM,其实说简单也简单,说难也难,对于安卓ROM移植,其实在很早的时候,就有很多ROM开发者尝试,只不过⼤多⽆功⽽返,因为ROM移植后的BUG太难修复,但是,移植起码还是有机会开机,并且做出第⼀个体验版的,毕竟,修复BUG是后⾯的事情,参考下⾯的ROM移植教程。

1.准备beyond compare和notepad++ ,ROM开发定制必备的⼯具,也准备好官⽅包和移植包第⼀步,先删除,除META-INF,System,boot.img,data以外的⽂件,因为那些⽂件是多余的,可以不⽤到,只要⽤到ROM移植的基本⽂件就可以,然后⽤beyond compare对⽐脚本⽂件,我们来修改刷机脚本。

尤其是要注意删除前⾯两段机型验证,还有recovery恢复相关的脚本,避免刷机不通过,如下删除package_extract_dir("recovery", "/system");set_perm(0, 0, 0544, "/system/etc/install-recovery.sh");以及另外⼀个机型的验证,⽹速不好,具体这⾥没有截图上传,详细的教程,参考,⾥⾯有很多关于ROM移植的详细教程2.其次,刷机脚本要删除关于boot.img之外的img⽂件代码,不⽤刷⼊那么多分区,⼀般只要保留system和boot分区就⾏。

,3.现在修改system⾥⾯的⽂件,这⼀步对ROM移植很关键,⼤部分的东西都在这⾥,但是⽐较简单,将替换⽂件均为官⽅包替换到移植包如下替换:system/bin/vold (分区⽂件)System/etc/firmware (基带⽂件)System/etc/permissions (替换过去)System/etc/vold.fstab (这个是SD卡挂载)System/lib/hwSystem/lib/modulesSystem/lib/libaudio.primary.default (⾳频⽂件)System/usr/keylayout (按键⽂件)System/vendor/lib (替换过去)4.对⽐修改build.prop⽂件,把机型model改为你⾃⼰的机型还有其他的⾃⼰对⽐修改,先不改这么多,尝试能不能开机再说。

安卓Android ROM定制、移植教程。

安卓Android ROM定制、移植教程。

CyanogenMOD移植教程转自秋叶随风Ivan;乐蛙论坛等。

第一章:环境的搭建一.系统选择和安装建议使用ubuntu LTS 10.04 X64新手朋友推荐Deepin Linux 基于ubuntu定制的,适合新手使用/download系统安装教程,以下方法通用于UBUNTU官方版本U盘安装:/index.php/Unetbootin光盘安装:/index.php/光盘安装搭建android编译环境:英文好的请猛击这里:WIKI:/index.php?title=Building_from_source1.安装JDK因为ANDROID大部分东西是java写的,所以首先我们需要安装JDK 打开终端按照如下命令输入或者直接复制粘贴:编译android 2.3 或者更新的版本请使用jdk 6$ sudo add-apt-repository "deb / lucid partner"$ sudo apt-get update$ sudo apt-get install sun-java6-jdk如果你需要编译的是2.2以下的版本请使用JDK 5,因为现在大家都是使用Gingerbread 以上的系统,这里就不介绍jdk5如何安装的了,如果有需要请度娘或者google2.安装各种依赖包64位环境:依然是终端中输入$ sudo apt-get install git-core gnupg flex bison gperfbuild-essential \zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \libgl1-mesa-dev g++-multilib mingw32 tofrodospython-markdown \libxml2-utils xsltproc如果这些依赖包依然不能解决你的问题,请参考如下:/wiki/HTC_Hero_(CDMA):_Com pile_CyanogenMod_(Linux)/source/initializing.html3.下载代码打开终端:在个人目录下面使用的是android 代替我的工程,用cm7代替CM7的源码用CM9代替CM9的源码如果要更新下载CM7的源码请输入:mkdir -p ~/binmkdir -p ~/android/cm7个人目录下的bin目录是为了保存repo 等更新脚本的依然再终端输入:curlhttps:///dl/googlesource/git-repo/repo > ~/bin/repochmod a+x ~/bin/repo可以把~/bin/repo 加入到环境变量里面终端输入sudo gedit /etc/environment在PATH=“”加入PA TH="/home/ivanhuang/bin:" ivanhuang为个人目录的名称,也就是计算机登录名更改结束之后终端输入source /etc/environment就能直接在终端中使用repo 命令了。

rom移植教程

rom移植教程

rom移植教程ROM移植是将一个操作系统的代码、驱动程序以及一些必要的配置文件适配到另一个硬件平台上的过程。

这种过程需要开发者有一定的底层知识和编程经验,下面就ROM移植的步骤和注意事项进行详细介绍。

步骤一:了解目标硬件平台在进行ROM移植之前,开发者需要对目标硬件平台的基本情况有一定的了解。

比如目标硬件平台的处理器架构、存储设备、显卡、网卡等基本硬件配置。

这样才能在移植的过程中对应地进行配置和适配。

步骤二:准备开发环境进行ROM移植需要准备一个合适的开发环境,通常是通过搭建交叉编译工具链来实现。

开发者需要根据目标硬件平台的处理器架构选择合适的交叉编译工具链,并进行相应的配置。

步骤三:移植内核ROM移植的第一步是移植操作系统的内核。

内核是操作系统的核心部分,负责管理硬件设备、进程调度、内存管理等重要功能。

开发者需要根据目标硬件平台的处理器架构,对内核进行移植和适配。

移植内核的主要工作包括:1. 修改启动引导代码:根据目标硬件平台的启动方式,修改内核的引导代码,使其能够正确启动。

2. 移植设备驱动:根据目标硬件平台的设备配置,移植相应的设备驱动程序,包括显卡驱动、网卡驱动、存储设备驱动等。

3. 配置内核参数:根据目标硬件平台的硬件配置,配置内核的参数,包括内存大小、挂载点、文件系统等。

步骤四:移植文件系统除了内核之外,移植文件系统也是ROM移植的一项重要工作。

文件系统是操作系统的一个重要组成部分,负责管理文件和目录、提供文件的读写接口等。

移植文件系统的主要工作包括:1. 选择文件系统类型:根据目标硬件平台的存储设备和性能要求,选择合适的文件系统类型,比如FAT、ext4等。

2. 配置文件系统:根据目标硬件平台的存储设备和文件系统类型,对文件系统进行配置,包括挂载点、权限设置等。

步骤五:测试和调试移植完成后,需要进行测试和调试以确保系统的稳定性和兼容性。

测试和调试的主要工作包括:1. 功能测试:对移植后的系统进行功能测试,包括启动速度、文件读写速度、网络连接等。

recovery手动移植教程

recovery手动移植教程

替换篇:主要替换文件有kernel,key ,recovery.fstab,init.rc。

替换文件可以从旧的recover y.img取得。

kernel 文件就是机子的内核了。

key 文件是机子的按钮的配置文件。

文件在initrd/res 文件夹里recovery.fstab就是记载系统各个分区挂载的地方的文件。

在initrd/etcinit.rc文件是开机初始化文件。

在initrd如果你要添加或着减少文件,记得修改cpiolist.txt文件mtk篇1. 最简单的移植方法是,先解压自己手机的官方recovery.img。

进入解压文件夹,找到“kernel“及"kernel_header","ramdisk_header"复制备用。

有时候,你还要把recovery\rmdisk\etc\目录下的recovery.fstab留着备用。

(如果,在安装新的rcovery之后无法进入recovery模式,那么,不必着急,先等待片刻,并尝试再次进入。

有时候,recovery中recovery.fstab没有改好挂载点,会出现这种情况.如果尝试第二次进入仍无法正常使用,可能是你手机的开机引导程序无法识别recovery。

这时候请把第三方recovery中的ramdisk_header也替换成官方的ramdisk_header即可。

)2. 找到第三方recovery.img。

个人推荐“TWRP recovery”。

(下载同cpu的第三方recovery)将第三方recovery.img复制到工作目录,先把之前生成recovery文件夹重命名,或者移动到其它目录。

否则新的操作会把它删除。

接着将它解包。

同样得一个名为recovery 的文件夹。

3. 将第一步生成的kernel 及kernel_header,ramdisk_header复制替换到第二步生成的第三方recovery文件夹中,并进入第三方recovery解压文件夹的recovery\rmdisk\ect\目录下,找到并打开recovery.fstab,修改其中的挂载点信息.这里要使用支持语法高亮显示的文本编辑器打开修改,如notepad++等,而不能用系统自带记事本.其中,关于sd卡及内置存储的名称表示要与第三方的一样(有些第三方recovery用emmc表示内置存储,那么你也要是这样表示.又如第三方用sdcard2表示外置存储,你也要这么样表示.但挂载点是你手机的)。

教你怎么移植ROM

教你怎么移植ROM

5.将oppo中的文件夹移入miui的包中
6.下载Beyond Compare(文件比较工具)对比两个ROM中的bin目录下的文件
除了wlan,wl之类的文件,其余CM包中缺少的都必须加入
7.对比etc文件夹,内部文件夹不能碰!oppo多余的文件夹进行加入,多余的文件加入
8.对比lib文件夹下的so驱动文件,oppo包里多余的文件放进CM的lib下
Lib文件夹(本文件夹是系统所需要用到的驱动,库文件的所在,如果某程序FC或者无法正常运转,可能是这里的问题,我把我知道的一些文件的用途说一下:
***Lib/dsp文件夹 DSP驱动所在,一般不需要改
***lib/egl 显示芯片驱动,一般不需要改
***libaudio.so 话筒及音频驱动 必须用红米的
00是执行序号,系统开机时会按顺序执行,aaa是为了区别每个脚本的名称,可以随便写)
Font文件夹(字体文件夹,没什么好解释的,你可以替换为你喜欢的字体)
Framework文件夹(系统框架结构文件目录,这个目录下是系统服务和系统界面的所在地,一般不可以单独替换,要移植的话必须全部替换,不然会卡M,framework-res.apk文件就是系统语言,界面的所在文件,修改他就可以直接修改系统界面,framework-res.apk必须与app文件夹中systemui.apk配套,不然开机会出现状态栏FC,不同版本不可以乱用,比如CM7.1.0.5不能用CM7.1.0.4的文件)
教你怎么移植ROM,做自己的ROM、方法不难。瞧好了、你就是下一个大神!
其实移植并不难,主要看你有没有耐心。 ,其他系统略有不同。
要移植,就要了解系统的结构和打包解包:
打包很容易,只需要制作成ZIP格式的压缩包就行了,里面包含2个文件夹和1个boot.img文件,boot.img是内核,没有内核的系统是不能运行的,另外两个文件夹一个是system,也就是Android系统所在地,另一个是META-INF,这里一般存放是刷机脚本,我们移植一般需要改的就是system文件夹里的内容。

rom移植的教程

rom移植的教程

1. 网上有很多关于rom移植的教程很多,百度一下到处都是,但是都不是很容易看懂,而且819有点特殊性,很多教程都是不通用的,我以最易理解的语言来写这篇教程给你们帮助新手学会移植。

其实rom移植并不难,只要你愿意学。

移植分为正向移植和反向移植。

我们需要准备两个包,一个是819的包,可以选择bug少的或者中兴官网的那个中兴u819的升级包作为【底包】。

同时还需要找一个【目标包】,也就是你准备要移植的包。

所谓正向移植,就是以819的包为基础把其他包的特色文件移植进入819的包里。

反向移植是以目标包为基础,把819必须的文件加入目标包里打包形成专属819的刷机包…忘了说,这篇教程是反向移植制作移植rom时我们需要准备一些工具:电脑(手机也可以,但是很慢,手机党可以使用手机上的安卓厨房,具体使用方法自己查找)、mtk一键boot移植软件、文件对比软件Beyond Compare破解版【百度一下前几个就有】这些软件自己学习使用,很容易学。

我们先下载两个包,同一般解压一样解压,打开解压后的文件会发现有两个文件夹一个boot.img(一般情况是这样,有的还有recovery文件夹和data文件夹,那怎么办呢?不要担心,删掉!)首先移植boot,boot是引导文件boot有问题会卡第一屏,进不了开机动画,关于boot移植使用一键boot移植软件,秒秒钟就移植完了,但是有些弊端,可能有些包移植完后会有bug,比如蓝牙,wifi等有问题这时就需要手动解包修改boot文件接下来是修改刷机脚本使用对比软件修改META-INF/com/google/android/updater-script文件打开这个文本如果发现开头有assert(getprop("ro.product.device") == "手机型号" ||getprop("ro.build.product") == "手机型号" ||getprop("ro.product.device") == "手机型号" ||getprop("ro.build.product") == "手机型号"); 语句把手机型号更改为u819,要不然就直接删除(一般有3条,建议直接删掉)比如3c的脚本删除关于带有recovery的语句,可以搜索一下,把所有带recovery的语句删除在这个脚本里,还需要修改分区配置,format("ext4", "EMMC", "/dev/block/mmcblk0p5", "0");format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0");ui_printformat("ext4", "EMMC", "/dev/block/mmcblk0p5", "0");mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");mount("ext4", "EMMC", "/dev/block/mmcblk0p7", "/data");用对比软件直接对比修改以上的数字,改为底包的。

安卓系统移植教程-小时代总结版本-转载请注明-灵蝌-版权所属

安卓系统移植教程-小时代总结版本-转载请注明-灵蝌-版权所属

小时代教程安卓反向修改拼包法操作流程:1.首先先清楚的了解本机型的硬件配置,也就是主板平台方案,分辨率等.通常同系列的CPU不同机型的ROM拼包移植成功率较高.2.挑选合适的底包和移植包,底包和移植包尽量同源,比如你是高通的最好不要一直MTK的。

高通到高通 MT到MT 展讯到展讯3.找出底包和移植包两者的不同之处,目的是让我们了解需要改动什么才可以让别的机型ROM能在我们的机型上面使用,在底包、原生包、移植包上进行交叉对比;卡刷ROM条件:1、机器必须先ROOT2、必须有支持的第三方Recovery,没有第三方Recovery的也就只能反向从机器中进行提取并移植了;3、支持卡刷的ROM,对于小白来说,卡刷ROM也是最方便的;机器提取原生recovery方法:要ADB代码自己找去移植思路及步骤:㈠、底层硬件驱动不同(内核).删除移植包里面的boot.img(内核)和system\lib下的modules文件夹.替换成本机型的内核文件㈡、按键配置不同(键值).将移植包system\usr下的keychars和keylayout两个文件夹替换成本机型的㈢、传感器不同(驱动类)将移植包system\lib下的hw文件夹替换成本机型的㈣、系统配置文件不同(驱动类)将移植包system\etc中bluetooth、firmware、permissions、wifi四个文件夹替换成本机型的(如果有);其中firmware中的modem.img是负责通信的基带文件!modules中的文件是开机底层引导驱动,只要这两处替换成本机的,那么这个ROM一般都能正常启动进入系统,且有信号!还有enhanced.conf、media_profiles.xml(多媒体配置文件,即视音频配置文件)、vold.fstab(存储分区配置文件);最后注意system下是否有vendor和wifi文件夹,可以直接用文件对比器进行对比修改;㈤、修改build.prop(属性)把自定义的内容起进行直接修改,例如:机型、日期、版本号等.参数如果懂可以修改,如果不懂,建议不动它,只修机型、日期、版本号等;㈥、修改updater-script(刷机脚本);不同机型的ROM,刷机脚本里包含的分区挂载和格式化命令都有所差异,如果不做修改直接使用,把本不该改动的分区挂载并修改了的话,手机将存在变砖风险,前提需了解自己机器的分区结构,脚本开头有验证机型,请删除,例如assert(getprop(“ro.product.device”)== “**x” ||getprop(“ro.product.product”) ==“**xx”)这是验证机型的代码。

安卓系统移植之按键移植

安卓系统移植之按键移植
(3)在keymaps目录下新建一个Android.mk文件,内容如下:
LOCAL_Pinclude $(CLEAR_VARS)
file :
= $(TARGET_OUT_KEYLAYOUT)/gpio-keys.kl
ALL_PREBUILT += $(file)
这一部分主要是移植
(1)Android使用标准的linux输入事件设备(/dev/input目录下)和驱动,按键定义在内核include/linux/input.h文件中,
按键定义形式如下:
#define KEY_ESC1
#define KEY_12
#define KEY_23
(2)内核中(我的平台是arch/arm/mach-mmp/merlin.c文件)中按键的定义如下形式:
.desc="O_BTN button",
.type=EV_KEY,
/* .wakeup= */
.debounce_interval=10,/* 10 msec jitter elimination */
},
[2] = {
.code=KEY_F4,
.gpio=MFP_PIN_GPIO1,
.active_low=1,/* 0 for down 0, up 1; 1 for down 1, up 0 */
(2)android按键设备由Window Manager负责,Window Manager从按键驱动读取内核按键码,然后将内核按键码转换成android按键码,转换完成
后Window Manager会将内核按键码和android按键码一起发给应用程序来使用,这一点一定要注意。
Android系统开发小知识-在android产品开发中添加新的编译模块

安卓ROM移植教程(史上最精最全)

安卓ROM移植教程(史上最精最全)

目录目录 (1)第三章制作第三方移植乐蛙ROM(高通篇) (3)一、选择合适的基础包 (3)1.1选择合适的第三方ROM包 (3)1.2选择合适的乐蛙OS刷机包 (3)二、移植之前的准备工作 (3)1.保证刷机脚本的通用性 (4)2.学习使用BeyondCompare (4)三、移植过程中所需要的操作 (4)1.移植乐蛙的应用层和framework框架层 (4)1.1应用层(system/app)移植 (5)1.2framework框架层(system/framework)移植 (7)2.移植lib层 (8)3.移植system/bin文件夹 (8)4.移植system/xbin文件夹 (9)5.移植system/media文件夹 (9)6.修改build.prop (9)四、移植完成后的工作 (9)1.压缩打包为zip刷机包 (9)2.使用Recovery输入ROM包进行测试 (10)3.测试过后出现Bug的反馈机制 (10)(高通篇)第三章制作第三方移植乐蛙ROMROM(高通篇)在本文中我们将会对市面上存在的高通、德州仪器、三星、tegra四种平台的机器的移植进行介绍,今天先给大家带来高通篇。

选择合适的基础包一、选择合适的基础包一、1.1选择合适的第三方ROM包市面上高通平台的手机众多,使用高通机器的手机也有着众多的ROM,这是我们需要选择一个合适的ROM作为基础包(这这里简称Base)。

首先,本篇中我们讲的是第三方ROM的移植,不包括官方ROM和官方ROM美化版,在第一章中我们也有所介绍,关于官方ROM的移植,我们后续文章中将会有所介绍。

在这里我们推荐选用CM的ROM作为base包,选取条件如下:1)首先要找到自己机型的CM的ROM;2)所选择的ROM要尽量功能完善;3)如果为自己机型开发的ROM并不多,则尽量选取使用同一厂商同一平台的其它机器的ROM,例如U8510就可以选用C8650的ROM。

MIUI移植基本教程

MIUI移植基本教程

首先介绍制作rom的环境使用的工具:1.制作环境必须要有一个Linux操作系统,我用的是ubuntu 10.4,JDK6,当然如果你能建立一个完整的编译Android系统的环境更好,如何建立这样的系统,网上有很多文章,这里就不多讲了。

可以在物理硬盘分区上安装Linux,也可以向我一样在VirualBox虚拟机上安装。

2.厨房虽然它只是个在终端下由脚本驱动的程序集,但对我们提高制作rom的效率作用是巨大的完全掌握这个厨房的使用方法,需要写一篇单独的教程,本贴只针对移植所需的相关方法作出说明。

1)解包和打包解包:把要打磨的rom包放到original_update目录中,rom包的类型一般是zip压缩包,也可以是img镜像文件;运行厨房(menu脚本),输入1(Set up working folder from ROM),根据提示选择你要解包的那个文件号,厨房解包并创建工作目录(WORKING_xxx),如果已存在一个WORKING_xxx的工作目录,厨房会自动把它移到到OLD_WORKING目录中。

打包:输入99(Build ROM from working folder),厨房自动打包工作目录然后签名并把rom 文件放到OUTPUT_ZIP目录中。

2)deodex官方发布的rom一般都会把apk中的dex文件抽出并优化修改为同名的odex文件,为了修改它们,需要将这些odex文件打回到各自的apk文件中,在厨房中输入0(ADV ANCED OPTIONS)->11(Deodex files in your ROM),厨房自动搜索工作目录下所有odex文件,根据提示输入即可。

3)文件签名在(ADV ANCED OPTIONS)屏输入21(Sign APK file(s)),厨房搜索工作目录下所有apk 文件,根据提示输入,这里要注意,无论你选择哪一项,厨房都不会自动签名framework目录下的apk文件,需要你输入s(自定义签名文件)。

小米移植澎湃os方法

小米移植澎湃os方法

小米移植澎湃os方法
小米移植澎湃OS的方法如下:
1. 准备开发环境:安装Android Studio等必要的开发工具和依
赖库。

2. 获取澎湃OS的源代码:从澎湃OS的官方仓库或官方网站
上下载最新的源代码。

3. 构建ROM代码:使用Android Studio或澎湃OS提供的构
建工具,编译和构建ROM代码。

4. 制作刷机包:将构建好的ROM代码打包成刷机包(一般是zip格式),包含系统文件和必要的驱动程序。

5. 安装刷机包:将制作好的刷机包通过刷机工具(如Fastboot
或Recovery模式)安装到小米手机上。

6. 进行适配和优化:根据小米手机的硬件平台和特性,对澎湃OS进行适配和优化,确保系统能够正常运行并发挥最佳性能。

7. 测试和调试:对移植好的澎湃OS进行全面测试和调试,排
除可能存在的问题和Bug。

8. 发布和推广:将移植好的澎湃OS发布到相关的社区或论坛上,推广给更多的小米手机用户使用。

需要注意的是,移植澎湃OS可能涉及到一些风险和技术挑战,需要具备一定的开发和调试经验。

同时,还需要遵守相关的开源许可协议和法律规定。

在进行移植前,建议先参考澎湃OS
的官方文档和相关的开发者社区,了解更多的移植方法和注意事项。

android系统移植到emmc

android系统移植到emmc

android系统移植到emmc历时一个月,终于成功把android系统移植到emmc上启动。

开发板:s5pv210系统:android 2.34目的:使用emmc代替 nand flash烧写命令:fastboot sdfuse分区命令: fdiskvfat格式命令:fatformatExt3格式命令:ext3format--------------------------------------------------------------------------------1:android系统移植emmc记录(1)--制作SD卡启动模式2:android系统移植emmc记录(2)--u-boot烧写emmc文件方式------------------------------------------------------------------------------------------------------------------------如果android生成的文件是ext3格式(如何生成,请网上了解,我自己的只是手动生成),则应该可以启动系统,基本移植成功。

然而,这时三星的基本移植方式,对于我手上的源码,却并不合适,测试无法启动系统,停止在 mount根文件系统后,无法找到/init 文件。

经分析,基本属于kernel没有获取到正确的ramdisk分区地址,至此开始分析u-boot源码了。

--------------------------------------------------------------------------------------------------------------------3:android系统移植emmc记录(3)--sd/mmc初始化分析4:android系统移植emmc记录(4)--fdisk命令分析5:android系统移植emmc记录(5)--fastboot命令分析6: android系统移植emmc记录(6)--sd卡烧写文件分析--------------------------------------------------------------------------------------------------------------------u-boot基本可初始化emmc和sd了,并能够通过sd来烧写emmc。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

每当我闲下来时不发Rom时,就会整理一下思路,发发教程啥的,我觉得能带动机油们自己打造、改造Rom,共同提升,才是Romer的追求。

发Rom也好,教程也好,我的宗旨是不设回复可见,如果你觉得好,回复或者评分鼓励一下,我就很开心了。

不过这样做的一个遗憾就是,我的帖子通常回复率不够高,沉得快。

好了,闲话少说,上教程。

注:可能你会觉得文字教程比较干枯,不够形象生动,但是请精心看,我会尽量讲得具体、清晰。

首先,我并不算是移植高手,这个教程只是我在自己移植过程中的的一些收获体会,一些经验之谈。

如果你觉得有什么不对或值得改进的地方,欢迎和我交流,我们一起来完善这个教程。

因为移植所涉及的机型、配置相当多变和复杂,所以我无法讲具体细节,只能讲大致的原则。

可以结合我移植U8800+的JoyOS到U8860的例子作为参考进行理解。

我把这些原则抽象出来,命名为Rom移植5步法,具有一定的通用性。

Rom移植的方向有正向和逆向之分:正向的做法通常就是,找个目标机型的底包,然后把要移植的包的app和framework提取出来替换进去。

这样的优点是改动无需太大,非常快捷;缺点是经常因为一些bin下的程序或者库文件的差异而导致成功率不够高。

逆向的做法是,拿要移植的包作为底包,把目标机型的内核、wifi驱动、传感器库文件、配置文件等替换进去。

这样做要复杂一些,需要准确两个包的差异,知道应该改哪里;优点自然是不成则已,一旦移植成功能最大限度地发挥Rom性能,因为框架、程序与底层的契合度要比正向法好。

我这个教程以逆向法为例。

另外,Rom移植有风险,刷机测试需谨慎,如有本人操作不当导致出现任何问题,本人概不负责。

Rom移植5步法:1.Rom移植涉及的东西比较偏底层,所以在移植之前必须清楚目标机型的硬件配置,分区结构。

这里的配置不是说主频多少、内存多少,这两个参数基本上不会影响移植的进行。

对于移植,最关键的因素是主板平台,通常采用同一系列的cpu的不同机型的Rom移植的成功率要高很多。

比如,U8800+和U8860均是高通8255处理器,虽然主频不一样,但它们却同属于同样的MSM7x30平台。

他们之间的互相移植,绝对要比与MSM7K平台的中兴V880互相移植来的容易得多。

至于为什么要弄清分区结构,会在下面讲到。

所以,5步法的第一步就是弄清楚自己目标机型的配置,从而选定一个合适的Rom源包。

同时,也必须找一个或多个目标机型上能用的合适的底包,尽量与源包同源或者属于同一Android版本。

例:我要移植JoyOS到华为荣耀U8860,在对比配置和分区结构后选择了华为U8800+的JoyOS包作为Rom源包。

由于JoyOS也是基于CM7修改的,所以我找的底包是U8860的CM7.2,同时也把华为官方的B876拿出来作为参考。

为什么选U8800+,而不选U8800?因为U+采用和荣耀一样的wifi芯片,接口均为eth0,而U8800的却是wlan0,自然用U+会省下不少麻烦。

2.第一步里你已经了解了两款机型配置的相同或相近之处,这一步则相反,我们需要找出二者的不同之处。

这样做的目的是为了知道我们到底需要改动什么来使一款机器的包能在另一款上使用。

首先,二者的底层硬件驱动会有所不同,我们通常都是直接替换内核来解决这个问题,即boot.img。

有时,还需要在system/bin文件夹里添加必要的程序和服务。

system/usr下的key打头的两个文件夹是按键配置相关的,通常也需要替换。

其次,二者的传感器通常会有所差别,system/lib/hw目录下的库文件都是传感器等相关的。

再次,system/etc文件夹下放置着许多的系统配置文件。

我们需要关注的文件或文件夹通常有bluetooth、firmware、permissions、wifi 四个文件夹(如果有的话)。

还有enhanced.conf(G大脚本的配置文件)、media_profiles.xml(媒体配置文件)、vold.fstab(存储分区配置文件)。

最后,再检查一下system目录下是否还有vendor、wifi文件夹。

上述不同的地方,通常就先对比,如有不同,就需要我们用目标机型的替换之。

例:U8800+的平台主板一致,内核可以通用,无需替换。

bin下需要添加akmd8975 蓝牙芯片相关服务,hdmid HDMI输出服务(非必要)等,这里要同时参考底包和官方包。

弄清这些程序或服务的名字的最好办法是解开关官方的boot.img,看注释。

system/lib/hw 下的传感器库文件有差异,删掉带u8800名称的,用来自u8860的CM的相应文件替换。

此时也可以参考一下官方包中此文件夹的内容。

二者wifi 芯片一致,system下的vendor、wifi文件夹无需替换(这就是我为什么选U+,而不选U8800的原因)。

system/usr下的按键配置文件一致,无需替换。

etc下的bluetooth、firmware、wifi一致,无需替换。

enhanced.conf文件不一致,U+是1G主频,荣耀是1.4,需要替换。

media_profiles.xml不一致,U+无前置摄像头,荣耀有,需要替换。

vold.fstab一致,二者均有内部存储分区和sd,而且挂载点也是一致的,无需替换。

以上操作,建议用beyond compare程序进行对比,能用文本编辑器打开的简单文件也可肉眼比对。

找出差异,如有不同,替换即可。

3.经过上面两步,该相近或者相同的地方我们已经利用了,不同的关键之处我们已经修改为相同了。

原则上应该差不多完成了,接下来要检查和修改的有两处。

build.prop,机型改过来,其他必要的参数改过来,前提是你要熟稔这些参数是干什么的,否则暂时只改机型就够了。

刷机脚本,第一步我们说到要了解机子的分区结构,刷机脚本内含分区挂载和格式化的命令。

不同厂商的不同机型的分区结构是不一样的,而且还一般不能做修改。

买台电脑回家,我们可以自己任意分区,重装系统,手机却不能这样如果分区结构不同,而刷机脚本不做修改,将不该改动的分区挂载并修改了的话,等着变砖吧。

我举个例子:华为荣耀的分区结构是/dev/block/mmcblk0p1为 .cust_backup 分区,boot.img在这里/dev/block/mmcblk0p6为cache 分区/dev/block/mmcblk0p12为system 分区/dev/block/mmcblk0p13为data 分区如果你用文本编辑器(记事本也可以)打开system/etc下的vold.fstab,会看到dev_mount emmc /HWUserData 14/devices/platform/msm_sdcc.2/mmc_host/mmc0 内部SD卡dev_mount sdcard /mnt/sdcard auto/devices/platform/msm_sdcc.4/mmc_host/mmc2 SD卡其他分区暂不需要关注。

华为荣耀的分区和U8800+是一致的,二者Rom可以互刷而不会变砖,只是功能会不完善,所以才要移植。

三星i9100的分区结构则是/dev/block/mmcblk0p9 为systemdev/block/mmcblk0p7 为cache/dev/block/mmcblk0p10 为data假如你要把三星i9100的rom刷进荣耀(或者你移植i9100的rom而不修改刷机脚本)的话,那么,惨了。

你把荣耀的/dev/block/mmcblk0p9分区给格式化,把rom刷写进去了,结果自然是变砖了。

这就是我在这个帖子里写下下面这段话的原因。

assert(getprop("ro.product.device") == "blade" || getprop("ro.build.product") == "blade" || getprop("ro.product.board") == "blade");获取手机信息,验证你的手机到底是不是V880,否则将无法刷入。

这是为了防止让一些其他机型的小白误刷咱们V880的Rom从而发生变砖的惨剧。

不加这行的Rom所有机型都可以刷入,建议Rom同行或者补丁制作者们一定要加上,人性化关怀。

当然,你不加这些,但在补丁或Rom发布时仔细说明适用机型的话也是可以的。

4.接下来就是测试了,一般如果内核与库文件、库文件与上层框架兼容的话,至少能开机。

如果卡第一屏了,分析原因,一点点排查,看脚本有无问题,看内核是否的确已经替换,看传感器等库文件是否合理替换...失败并不可拍,怕的就是没有正视失败,重头再来的勇气。

5.如果能成功进入系统,最后就是要一点点地完善了。

如声音不正常那个,可更换system/lib下声音相关的库文件;相机不正常,同样是这个目录下的有关文件;这个过程要遵循单一变量原则,一次性尽可能只改动你确定的一点点,否则你无法确定到底是哪出修改发挥了作用。

遇见最多的自然是wifi、蓝牙、相机、信号等问题。

这时要善于利用手边的rom包,尤其是别人已经在本机型或相近机型移植成功的包。

看看他们是怎么修改的,或者能联系到Rom作者本人,向他们咨询那是最好的。

能开机进入系统是移植成功的第一步,真正好需要完善的东西是上层的应用,这是后话。

例如:JoyOS没做过500万以上像素的机型,所以,移植过来的相机的参数设置最大只能500万,囧。

这时只好用cm或者mq的的相机替换了。

能静下心看懂这些步骤的话,移植的基本思路和方法就差不多了。

只是移植的环境复杂多变,具体场合还请各位具体摸索,我就不多说了。

我标题所说的,三分钟内就可以把JoyOS移植到荣耀,这个三分钟当然不是说看完此贴并掌握只需三分钟。

是指熟练操作后可以很简单地进行移植,当然,源包很重要!-------------------------------------------------------------------------------------想想不能光说不练,顺手把最新移植的JoyOS-1.1.8传上来。

已精简谷歌服务,加入RE管理器和关机重启,替换可以800万的相机。

加入百度输入法,附上iphone皮肤一款,解压点击即可安装,然后去输入法里切花皮肤即可。

Rom下载地址/c0uw2bg4uu/file/behifd8t#iPhone皮肤:baiduinput-iphone5.zip(668.81 KB, 下载次数: 187)最后,送想要移植的朋友们一段话:选源包和底包切忌不清不楚,找不同之处时要记得不急不躁,能开机之后要不骄不闹,好好测试完善之后再发布出来,别让机油的手机死得不明不白。

相关文档
最新文档