一个移植rom包有可能可以安卓原生rom适配教程多款手机吗

关于安卓rom的机型适配和移植的一些常识问题请教
对安卓系统一直很感兴趣,也做了一点应用开发,对rom的定制越来越感兴趣,但是也还停留在刷刷机的程度上
很多定制的rom存在机型适配的问题,包括大名鼎鼎的cm,也不见得能覆盖所有机型
我理解是由于手机各个厂商的架构和标准的不统一性,
导致安卓系统不可能像windows系统一样,只要是个机器就能装能运行,标准rom必须要对特定手机机型进行适配开发,
加上有感于最近的罗永浩的锤子的发布,
所以有以下疑问, 想向有这方面经验的oscer们请教下:
1 rom做机型适配的过程,大体上分成哪几部分的工作?( 比如通讯基带和屏幕以及屏幕或输入设备适配等),最难的或者最花费时间的点在哪里?为什么推出适配某个机型的rom感觉这么费力?
2 这些部分对于一个仅有安卓应用开发经验的人来说 ,入门门槛如何?
看看这个吧
--- 共有 1 条评论 ---
非常感谢, 这篇文章解决了我很多疑问
看来根本的原因是硬件驱动的封闭性
windows也不见得是个机器就能装能运行
最重要的是弄一大堆手机来做测试。你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。Android ROM移植教程_百度经验
&&&&&&&&&手机周边Android ROM移植教程
百度经验:一千个人一千个哈姆雷特,安卓这个开放的平台给了大家一个充分展示自己个性的平台。那么,怎么又能在众多安卓用户中脱颖而出,充分展示自己的个性呢?听者有心在这里特制作了一系列安卓优化教程,让大家都能够充分在自己的手机上展示自己的个性,我的安卓我做主!下载完ROM以后,用解压工具解压到一个目录,先将odex合并到apk文件中去,这里要用到工具,odextools.zip,下载详情请见安智论坛。转换好会放到另一个文件夹里面,把原来的文件删掉,把生成的放回去就可以了。如果转换过程中失败了,应该是JAVA的版本低了,升级到最新的JRE试一下。当然,也可以不合并,并不影响ROM的移植。.替换自己手机专用的文件,一般我们要下载近似机型的ROM,我们下载了以后,要先把自己手机专用的文件替换进去:boot.img和bcm4329.ko分别为内核和无线驱动,一般来说换内核必换的system/lib/modules/bcm4329.ko,这个文件是wifi和蓝牙驱动,不同内核的驱动不同,如果不换wifi和蓝牙只会提示错误。这个可以从CyanogenMod7的ROM中提取。也可以到XDA上面下载新的AOSP核心。bin/目录下的2个文件,awb_camera和lsc_camera这2个是相机相关文件, etc/firmware这整个文件夹都可以替换掉(注意,是etc下面的firmware) etc/目录下A1026_CFG.csv、AdieHWCodec_WA.csv、AdieHWCodec.csv、media_profiles.xml、NOTICE.html.gz 音频解码和视频相关配置,替换掉 etc/gps.conf GPS的配置,可以自己去搜一下,了解如何改后,可以自己动手改一下。lib/hw/目录下,从原来ROM中提取后替换掉。 lib/modules/bcm4329.ko为WIFI驱动,替换掉。lib/目录下的.SO文件,可以去CM对应版本的ROM中拿(CM7为2.3,CM9为4.0,CM10为4.1),注意:千万要看好了,是在用官方ROM和基础ROM对比文件大小,不要拿CM7的对比,替换错了会开机卡在第一屏。usr/目录下的keylayout和keychars2个文件夹是键盘相关文件,可以直接从我的ROM中提取替换。到此为止,简单的工作都做完了。& & 下面要开始修改文件了。 修改刷机脚本 updater-script 这个比较简单,一般只要修改前面几行,把条件改一下,再加一段欢迎词,请对照我提供的文件进行修改。 修改build.prop system/build.prop 这个文件嘛,一般是留名用的: 主要改以下几个地方: 1、ro.product.locale.language=hdpi(或者有的机型是mdpi ldpi) ro.product.locale.region= 改成ro.product.locale.language=zh ro.product.locale.region=CN 这样开机第一次锁屏的时候就是中文2.ro.build.description= 后面改成你想要的,也就是你作品的名字 ro.product.versi on= 这里也可以改成你作品的名字或者版本号,一般我们留为基于制作的官方系统的驱动版本号 3、 ro.sf.lcd_density= 后面一般为240。 4、 ro.ril.def.agps.mode = 2 听说改成0可以加速gps定位省流量 请对照我提供的文件进行修改, 这样,我们的移植就算完成了,接下来就是生成ROM了,我们用压缩工具将ROM打包成zip格式,注意目录结构,生成的zip根目录就有MATE-INF和system,别搞错了。将打包好的zip文件拷到工具包当中,改成update.zip,再双击sign.bat进行签名,签名后就生成了update_signed.zip了。 把签名后的ROM拷到卡上刷机吧。详情请见安智论坛原作者:安智论坛经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。投票(2)已投票(2)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆非回享用户暂时不能发布经验“有得”&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验03113139235热门杂志第1期你不知道的iPad技巧3545次分享第1期win7电脑那些事6212次分享第2期新人玩转百度经验1223次分享第1期Win8.1实用小技巧2538次分享第1期小白装大神1725次分享◆请扫描分享到朋友圈欢迎您,游客!请登录
一周内免登录
帐号或密码错误!
总回帖数:243 篇
上一主题:
下一主题:
深度解读制作私人定制版刷机包?我来教你把联盟专区里面的软件移植进ROM里面&
查看:4819 | 回复:243&nbsp&nbsp
精华数/发帖数
累计收入:
1000元以上
此主题由于“非常感谢楼主的分享哦~”被小金豆设置为精华帖,特奖励20点经验!
今天又是周一了,我说过以后每周一都会发一个免费的帖子,前面发的软件和硬件维修的教程,如果还有没收到资料的朋友可以站内信联系我,今天说一下安卓手机的刷机包问题。
很多朋友刷机都会选择用各种一键刷机工具比如XX大师 XX精灵 等,从那里面直接下载别人制作好的成品刷机包来刷机,但是每次刷完机都会感觉有不满意的地方,例如预装软件太多,主题界面不好看,布局不合理等等,如果想要改变这些我们还要ROOT后删除预装 还主题等等,然后再下载安装我们2345的赚钱的软件,是不是感觉很麻烦呢?今天我就教给大家怎么在刷机之前就把ROM包制作成我们理想中的刷机包,直接给顾客刷入,省事省时省力!!
& 首先,我先给朋友们科普一点关于ROM的基本常识:
rom的特点是只读,也就是说你往rom里面放进去东西后里面的东西就不会改变了。而我们手机上的操作系统就是装在rom里面的。在这个地方就有很多人有这个疑问,为什么rom只读不可写为什么我们还能刷机?事实上,随着技术的发展,现在有的rom是可以写的,例如我们手机上的rom称为flash,也就是我们平时说的闪存。这里我觉得rom这个名字有点误导人,因为rom是Read Only Memory的简称,延续这个名字容易让人误以为不可写。
总之现在手机上的rom也是可写的,然后厂商把rom的一部分划出来安装手机的操作系统和自带的应用,剩下的rom留给用户自己装其它的应用或放自己的其它文件使用。这也就可以解释为什么我们买来的手机容量一般都没有手机参数写的那么大,例如16G的买来一看就剩下15点多。因为有一部分被系统占用了。而且rom中作为存放操作系统的那一部分用户是没有权限访问的,除非通过特殊的方式,也就是我们常说的刷机,那这么说的话大家就明白为什么刷机也叫刷rom了吧? &这里我以一个从XX大师上面下载的一个小米2S刷机包为例子,将这个刷机包解压缩得到下图中的文件
META-INF里面是一些升级脚本和ROM签名。
recovery里面是我们刷机在recovery时要用到的一些文件。
system是这个rom的具体内容。
boot.img是内核文件。
这个教程我们想要达到的目的就是修改rom,所以我们只要看system这个文件夹就可以了。
把system打开以后如下图。
下面简单说明下这些文件夹。
app:系统自带的应用。
bin:android系统本地的一些可执行的程序。
etc:android系统配置文件。
fonts:字体样式和字体库。
framework:android系统框架。
lib:动态链接库。
media:铃声、开机动画之类的媒体文件。
usr:用户数据。
vendor:厂商信息。
xbin:系统管理用的可执行程序。
build.prop:手机信息。
下面我们开始修改rom
这一部分用三个部分让大家熟悉下rom包的结构和修改的方式,然后再自己扩展。
三个部分分别是:
1.修改原始语言和时区 2.修改界面 3.删除和新增自带应用
1.修改原始语言和时区
这个非常简单,打开system文件夹下的build.prop修改就可以了。
ro.product.locale.language=zh
ro.product.locale.region=CN
当然如果是romi可能本来就修改好了,但是如果是android原生的系统就是原生时间。
关于修改build.prop建议大家使用一个文本编辑器UltraEdit。因为你用记事本打开build.prop的话是这个样子。
而如果用UltraEdit打开的话是这个样子
所以用文本编辑器更直观一些,划红线的是我标记的需要修改的两项。
2.修改界面
这个也很简单,把system\framework\framework-res.apk用winRAR的方式打开,然后解压出来,把res\drawable-hdpi下的图片换成你自己喜欢的,至于每个图片是干什么的你同样可以网上搜一下。改完之后拖回去,记住这里不是压缩后把后缀改成apk,而是用winRAR原来的framework-res.apk,然后把想替换的新图片拖进去替换了就行了。我用的是咱们2345网站的截图制作的一张图 公司不会说我侵权了吧
3.这是最重要的一步了,大家不要眨眼,看仔细了。删除和新增自带应用
删除很简单,把system\app打开,把你不想要的app文件删掉,通常包括一个apk文件和odex文件。至于哪些可删,网上有人列出了可精减的apk列表。自己搜下吧。
至于添加自带应用就比较复杂了,可不是把apk文件拖进去就行了。我原来也试过把只是简单的把apk拖进去,但是安装以后发现,自己添加的信应用一打开就停止运行了。后来我发现如果把你想新增的apk文件的lib文件夹提取出来放到rom的system\lib里就可以正常运行。这样我就有个推测,因为一般的应用都是把自己的lib(前面在rom结构中提到lib是动态链接库)压缩在一起。然后应用运行要用时提取自己的lib文件。然后我发现rom的app文件夹里所有apk都没有lib文件。那我就推测android是所有自带的app都统一去system下的lib调东西。所以如果你想自己新增自带应用的话就要把apk文件夹的lib文件提取出来,把里面所有的.so抽出来放到rom的lib里。这样新增的自带应用才能正常运行。但是自己这样添加自带应用又会出一个新问题。我以JJ斗地主这个app为例。我把它的解压后如图
打开lib文件夹,里面有一个armeabi文件夹,我们知道手机不同种类的cpu架构是不同的,那么app就必须提供支持不同平台的so文件。然后放在不同文件夹。但是一般来说你文件命名肯定是相同的。不信你可以试着把一个apk的lib文件夹下的每个文件夹看一下,都会发现虽然大小不一样但是名字一样的文件。而你要把这些文件都抽出来放在rom的lib里,那么肯定会造成同名覆盖问题。所以我建议如果非要自己新增一个又有同名覆盖情况,你就保留armeabi文件夹下的文件就行了。
把要修改的所有文件都改好以后,仔细核对一遍无误后,下面的工作也很重要,我们要把刚才解压缩的所有文件(修改好以后的文件)进行打包和签名,很重要 没有签名刷机不能通过的
先把所有文件打包压缩为zip文件,此时再刷机发现失败,提示没有签名,验证失败,从网上下载了个Android-sign.app软件和test sign.jar文件。其中test sign.jar文件需要复制到根目录下/下。将zip文件直接拖放到Android-sign.app上,如100.zip,会自动生成100-signed.zip。然后将该100-signed.zip文件进行刷机,通过。
http://download.csdn.net/detail/shaojie519/5073357 & & & & & &安卓系统签名软件下载地址
http://download.csdn.net/detail/zh/1341069 & & &test jar 包 下载地址
到此结束了,可能写的有点乱,因为有些地方我自己也是只会操作,不会解释或者说解释不通,希望大家能多留言发表见解!!感谢大家的支持,我们下周一再见!
精华数/发帖数
累计收入:
2000元以上
还可以输入140个字
精华数/发帖数
累计收入:
2000元以上
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
本人发帖不为名 不为利 只想让广大技术员多多丰富一些知识 &
难道超级版主不认为可以给个精华贴吗 这样置顶的话会有更多人看的啊
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
真是奇怪了,这帖子也算论坛从没有过的,竟然能沉了,很伤心,既然这样以后我不再发帖了,到此为止吧
还可以输入140个字
精华数/发帖数
累计收入:
联系方式???
还可以输入140个字
精华数/发帖数
累计收入:
2000元以上
好贴,学习了!
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
个性头衔:
还可以输入140个字
精华数/发帖数
累计收入:
2000元以上
system这个文件名有好多都是打不开的
还可以输入140个字
精华数/发帖数
累计收入:
多谢楼主分享
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
把2345的软件植入到ROM不需要这么麻烦,下午个ROM助手-键就搞定,搞原生太有啥用???
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
还可以输入140个字
精华数/发帖数
累计收入:
多谢楼主分享哦!!!
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
还可以输入140个字
精华数/发帖数
累计收入:
厉害啊!!貌似不好学
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
力顶楼主 哦!!!!
还可以输入140个字
精华数/发帖数
累计收入:
5000元以上
多谢楼主分享
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
很复杂 虽然没看懂
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
把2345的软件植入到ROM不需要这么麻烦,下午个ROM助手-键就搞定,搞原生太有啥用???
你用ROM助手把2345的软件植入后 你安装看看给不给你积分 呵呵
:谢谢分享,学习中
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
多谢分享啊
还可以输入140个字
精华数/发帖数
累计收入:
2000元以上
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
5000元以上
个性头衔:
还可以输入140个字
精华数/发帖数
累计收入:
个性头衔:
还可以输入140个字
精华数/发帖数
累计收入:
老师你 np哦& 研究了很长时间吧&& 辛苦了
还可以输入140个字
精华数/发帖数
累计收入:
好贴,学习了
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
好,必须顶
还可以输入140个字
精华数/发帖数
累计收入:
个性头衔:
还可以输入140个字
精华数/发帖数
累计收入:
个性头衔:
不错不错啊。
还可以输入140个字
精华数/发帖数
累计收入:
个性头衔:
谢谢分享。
还可以输入140个字
[实习版主]
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
看得我一愣一愣的 高手啊
还可以输入140个字
精华数/发帖数
累计收入:
希望多向你学习,你真是老湿
还可以输入140个字
精华数/发帖数
累计收入:
1000元以上
看着不错 &谢谢分享
还可以输入140个字
精华数/发帖数
累计收入:
看看谢谢分享
还可以输入140个字
精华数/发帖数
累计收入:
里好啊啊 好厉害啊&
还可以输入140个字
精华数/发帖数
累计收入:
10000元以上
还可以输入140个字
精华数/发帖数
累计收入:
个性头衔:
还可以输入140个字
精华数/发帖数
累计收入:
还可以输入140个字
精华数/发帖数
累计收入:
谢谢分享。
还可以输入140个字
精华数/发帖数
累计收入:
10000元以上
个性头衔:
用rom助手可以搞定,积分一样有
还可以输入140个字
上一主题:
下一主题:
总回帖数:243 篇
快速回复主题
您需要 或 后才可以回帖
你知道吗?如果你浏览的帖子比较长,只要点击右侧浮动的【顶部】就可以让页面瞬间回到首屏哦!
删帖原因:
内容毫无意义
发布垃圾广告
涉及暴力、色情
涉及政治敏感
连续回复相同内容
连续回复纯表情
内容中包含联系方式
涉及盗版系统相关内容
或填写原因:
本论坛原则上不删帖,只对广告帖,色情帖和政治敏感帖进行排查。
温馨提示:删垃圾帖将奖励您1点经验;帖子一旦删除将无法恢复,误删或错删将失去删帖权限,请您谨慎删帖。
不扣经验 (勾选后删除不扣经验)
删帖原因:
内容毫无意义
发布垃圾广告
涉及暴力、色情
涉及政治敏感
内容中包含联系方式
涉及盗版系统相关内容
或填写原因:
本论坛原则上不删帖,只对广告帖,色情帖和政治敏感帖进行排查。
温馨提示:删垃圾帖将奖励您1点经验;帖子一旦删除将无法恢复,误删或错删将失去删帖权限,请您谨慎删帖。
不扣经验 (勾选后删除不扣经验)
为了更好的交流推广,保护帐号隐私,请先设置昵称参与交流。
赠人玫瑰,手有余香。
下次不再提醒
送花成功,+1
您好,此操作将覆盖当前帖子内容,确定要恢复数据吗?

我要回帖

更多关于 rom适配 的文章

 

随机推荐