其实移植并不难,主要看你有没有耐心。比如我拿MOTOXT701来举例,这里以目前CM7系列2.3.7版本系统爲基础,其他系统略有不同。
要移植,就要了解系统的结构和打包解包:
打包很容易,只需要制作成ZIP格式的压缩包就行了,里面包含2个文件夹和1个boot.img文件,boot.img是内核,没有内核的系统是不能运行的,另外两个文件夹一个是system,也就是Android系统所在地,另一个是META-INF,这里一般存放是刷机脚本,我们移植一般需要改的就是system文件夹里的内容。
解包就是解压缩。
首先说结构,system下有:
App文件夹(存放内置软件的地方,每个软件都有自己的名字标注着,很容易识别,在移植上除USB.apk必须用咱们自己的版本以外,其他可以用同分辨率机型的APP直接替换)
Bin文件夹(本文件夹一般存放的是开机运行的脚本和一些系统必备代码,一般移植出了问题不能开机就是这里的问题,一般我们用702的或者720的ROM里的,注意除了NETD需要用701的外,其他也可以直接用702或者720ROM的,不过一般系统升级不会修改这里,在移植的时候,要删除2nd-init以及所有.sh脚本文件,这些对701是没有效果的,如果电池显示?,那么可以通过替换battd文件来修复)
Etc文件夹(本文件夹里存放着这种配置文件,包括WIFI,蓝牙和基带{\etc\motorola\bp_nvm_default}配置文件,A-GPS的文件和Hosts文件也在这里,media_profiles.xml可以控制录像质量,cameraCalFileDef5M.bin与cameraCalFileDef8M.bin是照相的数据库文件,都可以修改,子文件夹init.d文件夹下可以写入自己的开机脚本,来实现一些程序或者脚本开机啓动,如果想要执行某模块,可以添加一个文件,不要有后缀名,格式爲00aaa00是执行序号,系统开机时会按顺序执行,aaa是爲了区别每个脚本的名称,可以随便写)
Font文件夹(字体文件夹,没什么好解释的,你可以替换爲你喜欢的字体)
Framework文件夹(系统框架结构文件目录,这个目录下是系统服务和系统界面的所在地,一般不可以单独替换,要移植的话必须全部替换,不然会卡M,framework-res.apk文件就是系统语言,界面的所在文件,修改他就可以直接修改系统界面,framework-res.apk必须与app文件夹中systemui.apk配套,不然开机会出现状态栏FC,不同版本不可以乱用,比如CM7.1.0.5不能用CM7.1.0.4的文件)
Lib文件夹(本文件夹是系统所需要用到的驱动,库文件的所在,如果某程序FC或者无法正常运转,可能是这里的问题,我把我知道的一些文件的用途说一下:
***Lib/dsp文件夹DSP驱动所在,一般不需要改
***lib/egl显示芯片驱动,一般不需要改
***libaudio.so话筒及音频驱动必须用701的
***libaudioflinger.so音频附属驱动必须用701的
***libbridge.so相机方面
***libbattd.so电池驱动
***libcamera.so相机驱动必须用701的
***libcameraservice.so相机服务驱动
***libfmradio.soFM驱动
***libHPImgApi.so图片接口驱动必须用701的
***libLCML.so未知驱动必须用701的
***liboemcamera.so相机驱动必须用701的
***libOMX.TI.JPEG.Encoder.so照片编码器必须用701的否则照片黑
***libOMX.TI.AAC.decode.so此类型的都是编码器和解码器驱动(多媒体)
除上述红色文件必须用701外,其他文件可以直接用702或者720的。
Media文件夹(铃声及开机动画)
TTS文件夹(文字转语音文件夹)
Usr文件夹(键盘文件与各类数据库)
Xbin文件夹(系统工具文件夹)
Build.prop文件(系统参数文件,修改这里可以调节系统部分参数与性能)
如:默认虚拟机大小,铃声延迟,系统版本等
一般来说只要遵循规律,由少至多移植,不会出现什么问题,出现问题就从头开始,多积累经验,慢慢就会了。
Android 移植samba 安卓移植app
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
51c嵌入式~LWIP移植各网卡
の嵌入式~ lwip移植
嵌入式 MCU -
flink cdc 可以消费 rocket mq
开发环境准备 Flink 可以运行在 Linux, Max OS X, 或者是 Windows 上。为了开发 Flink 应用程序,在本地机器上需要有 Java 8.x 和 maven 环境。如果有 Java 8 环境,运行下面的命令会输出如下版本信息:$ java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (
五分钟构建apache Flink 快速构建apache Flink 搭建apache Flink flink apache Flink