
下载完ROM以后,用解压工具解压到一个目录,先将odex合并到apk文件中去,这里要用到工具,odextoolszip,下载详情请见安智论坛。
转换好会放到另一个文件夹里面,把原来的文件删掉,把生成的放回去就可以了。如果转换过程中失败了,应该是JAVA的版本低了,升级到最新的JRE试一下。当然,也可以不合并,并不影响ROM的移植。
替换自己手机专用的文件,一般我们要下载近似机型的ROM,我们下载了以后,要先把自己手机专用的文件替换进去:bootimg和bcm4329ko分别为内核和无线驱动,一般来说换内核必换的system/lib/modules/bcm4329ko,这个文件是wifi和蓝牙驱动,不同内核的驱动不同,如果不换wifi和蓝牙只会提示错误。这个可以从CyanogenMod7的ROM中提取。也可以到XDA上面下载新的AOSP核心。bin/目录下的2个文件,awb_camera和lsc_camera这2个是相机相关文件,
etc/firmware这整个文件夹都可以替换掉(注意,是etc下面的firmware)
etc/目录下A1026_CFGcsv、AdieHWCodec_WAcsv、AdieHWCodeccsv、media_profilesxml、NOTICEhtmlgz
音频解码和视频相关配置,替换掉 etc/gpsconf
GPS的配置,可以自己去搜一下,了解如何改后,可以自己动手改一下。lib/hw/目录下,从原来ROM中提取后替换掉。
lib/modules/bcm4329ko为WIFI驱动,替换掉。lib/目录下的SO文件,可以去CM对应版本的ROM中拿(CM7为23,CM9为40,CM10为41),注意:千万要看好了,是在用官方ROM和基础ROM对比文件大小,不要拿CM7的对比,替换错了会开机卡在第一屏。usr/目录下的keylayout和keychars2个文件夹是键盘相关文件,可以直接从我的ROM中提取替换。到此为止,简单的工作都做完了。
下面要开始修改文件了。 修改刷机脚本 updater-script
这个比较简单,一般只要修改前面几行,把条件改一下,再加一段欢迎词,请对照我提供的文件进行修改。 修改buildprop system/buildprop
这个文件嘛,一般是留名用的: 主要改以下几个地方: 1、roproductlocalelanguage=hdpi(或者有的机型是mdpi ldpi)
roproductlocaleregion= 改成roproductlocalelanguage=zh
roproductlocaleregion=CN 这样开机第一次锁屏的时候就是中文2robuilddescription=
后面改成你想要的,也就是你作品的名字 roproductversi on= 这里也可以改成你作品的名字或者版本号,一般我们留为基于制作的官方系统的驱动版本号
3、 rosflcd_density= 后面一般为240。 4、 rorildefagpsmode = 2 听说改成0可以加速gps定位省流量
请对照我提供的文件进行修改,
这样,我们的移植就算完成了,接下来就是生成ROM了,我们用压缩工具将ROM打包成zip格式,注意目录结构,生成的zip根目录就有MATE-INF和system,别搞错了。将打包好的zip文件拷到工具包当中,改成updatezip,再双击signbat进行签名,签名后就生成了update_signedzip了。
首先需要原游戏的资源,如纹理,配音这些这个不可能自己截图或者录取的质量效果差的远要官方提供渠道拷贝游戏资源,如MOD开发器,否则的话就不太好办了当然你是官方人员的话,这些资源你不需要从游戏中提取,你们公司肯定有源文件
另外游戏是很复杂的,AI人工智能,什么量的血要发出喘气声,q的威力值,这些都是程序,这些程序如果要移植到Andorid,因为电脑用的是C++之类的,Android是谷歌自己修改JAVA语言后发明的一套编程语言,而C和JAVA有着很大的区别,必须重新编程!如果你是公司内部员工,或者清楚游戏参数,那么编程还比较容易,否则就很难,比如,你快没血了会红屏,可血到底是20还是15开始红屏,你不清楚的话就很难原样移植,当然可以凭感觉随便输一个值,但老这样你编出来的程序就会跟原游戏区别很大
另外图形引擎,就是3D画面,显卡有关的这个东西电脑上因为微软垄断加上历史原因,目前电脑上DX引擎的开发难度要是把画面做的非常逼真什么超高段显卡才能支持,照片级真实这种对于游戏公司来说DX开发难度比OpenGL低,所以电脑上都是DX引擎而微软以外的几乎所有3D画面,都是用OpenGL开发的,而手机等配制低级的设备(不要觉得手机现在配置有多高,比起电脑还是差远了!),用的还是OpenGL ES,一种为低端设备设计的图形引擎,这个更是偏门了,要把DX游戏移植到OpenGL ES必须重新设计游戏3D引擎!!
另外有人说Android是基于Liunx内核的,可以直接使用Liunx程序,这种说法是臆想Liunx是免费系统,你可以使用,但如果你要修改Liunx进行商业活动,是必须公开你的修改内容,否则违法而你知道,创新是目前竞争的法宝,如果我怎么写程序怎么做Liunx都公开了,还生存个所以Android做了一个Liunx中间层,总之,Liunx程序是完全不可能在Android所使用的Liunx上使用的,跟Windows31的DOS有着本质区别
还有很多,但你也应该知道这种事的难度了,所以我从来不会说某某公司移植别人经典游戏移植的不好,要是个人程序员出于对游戏的热爱而移植的它,不管再差我更会支持它了,因为这的确是件非常非常难的事,甚至可以说比自己做个游戏出来还难所以做系统,做游戏这种事,不是说两句就能做的,有点人总想的很简单,其实打个比方,做一个大型游戏就像你要把初一的数学学到高三的数学,并且学透,把题全部做完,考试考完这样,是很艰巨的这也是为什么,高质量的大型游戏,只能出自有一定经济能力和技术实力的公司或工作组,而且要潜心认真开发才能得到的原因!
纯收打没打算写多少的但心潮澎湃了
用NDK编译成so,并写jni接口以便给java调用。
如果用NDK编译?
1、到android开发网下载NDK开发包,里面有document
2、把opencv用NDK的方法编译可以通过以下的思路:
(1)第一种方法:看看opencv官方的编译文档,是否已经支持NDK的编译脚本或选项,如果有,直接按官方说明进行
(2)第二种方法:使用交叉编译的方法,即NDK文档里介绍的使用make-standalone-toolchainsh的方法,这种方法很适合使用autoconf(即/configure)的项目
(3)第三种方法:根据NDK文档所说,自己手工写Androidmk和Applicationmk,适合小型项目。
以上就是关于如何移植安卓rom全部的内容,包括:如何移植安卓rom、如何移植大型3d游戏到安卓、如何把一个C++的源程序移植到Android上等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)