问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我向学习安卓系统移植。

发布网友 发布时间:2022-04-27 11:21

我来回答

3个回答

热心网友 时间:2023-09-14 23:31

如何制作ROM
有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生。我介绍root权限获取的时候,就直接用的MoDaCo Custom ROM作为例子。适用于Hero比较好的ROM还有不少,比如Drizzy’s Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,这些ROM都是怎么做的。考虑到中文社区相关资料比较少,在这里抛砖引玉,大概原理介绍一下。

对于第三方ROM来讲,通常都包括两部分,一个recovery image,一个update.zip。而大多数的第三方ROM的特色,就是加入了很多东西,比如superuser程序来获得root权限,busybox来扩充命令行下的功能,各种各样的配置文件或者小工具,比如默认打开中文locale,等等。这些看似神奇的改动,都是在 update.zip里面搞的,custom recovery image的主要作用就是引导用户的操作,比如让你先备份,再应用update.zip,再重启之类的操作。由于custom recovery image和update.zip的耦合性很小,所以不少custom ROM直接都用同一个custom recovery image,这个好像是出自MoDaCo作者之手。再然后,我之前的文章已经有对 recovery image的简单讲解,所以这里,我主要介绍一下update.zip的制作。

如果我们直接把MoDaCo ROM中的update.zip解包,我们会发现有一个boot.img,一个data文件夹,一个system文件夹,一个META-INF文件夹。这个data文件夹放的是init.rc,而本来在系统中,init.rc就是在data目录下的。当然,两者的作用不一样,这里的init.rc主要作用是开机执行你希望执行的命令,比如MoDaCo的init.rc就是install busybox。
而值得详细说明的,就是system文件夹。MoDaCo ROM版本的system下有一系列作者希望放到系统中的工具,对于apk文件,就放到app下,工具就放到bin和xbin下,依此类推。换句话说,system或者data这个目录层次结构是取决于你自己的,你希望放的东西属于什么,应该运行在online系统的什么目录下,update.zip里面就应该是有相应的目录路径,然后东西就放在里面。

具体点,我们现在要依样画葫芦,搞一个新的update.zip,那么第一步就是首先建立一个文件夹
mkdir new-update
好,假设我新update.zip的作用就是预装我自己的一个程序,my.apk,那么,我建立对应的子目录
mkdir -p new-update/system/app
cp my.apk
这样,system目录就完成了。但是这时,update.zip的目录层次还没完,我们看MoDaCo ROM中的update.zip中有文件夹叫META-INF,这个文件夹很关键,除了根目录下的三个文件外,里面层层目录,就包括了一个文件,叫 update-script,内容如下
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
copy_dir PACKAGE:data DATA
show_progress 0.2 0
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 100

这里面的内容,大部分是针对你要做的修改设置的。比如
copy_dir PACKAGE:system SYSTEM:
就是把system中新增的工具拷贝到手机上,然后
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
就是设置MoDaCo ROM中新增程序的权限,然后
copy_dir PACKAGE:data DATA:
把data下的内容(就是那个init.rc)复制到手机上,然后
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
刷boot分区。
那我们这里没有这么多新增的东西,应该怎么写呢?
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 04755 SYSTEM:app/my.apk
就可以了。你当然还可以做一些别的事情,比如加一个FORMAT DATA之类的^_^开个玩笑,千万别这个干,不然你的数据就全没了。
好,那么也就是说,我们要在自己的new-update目录下也建一个/META-INF/com/google/目录,然后把新的update-script扔进去。
完了么?差一点。其实如果你没有别的需求了,那么就完了,可以把下面这一小块跳过。下面这一小块,是关于boot.img的。在如何修改Android系统的Ramdisk以及boot镜像文章中,我们谈到,如果刷boot镜像有问题,就要用别的方法让系统boot我们自己的boot image了,这个别的方法,自然就是用update.zip了。MoDaCo ROM版本的update.zip也包括了一个boot.img,但是如果我们有出于各种需求自己修改的boot.img,自然就可以替换掉原来的了。当然注意,如果加了boot.img,那么update-script里面就不能漏掉
write_raw_image PACKAGE:boot.img BOOT:
这句。
好,到现在,我们的new-update目录下有
/system/app/my.apk
/META-INF/com/google/update-script
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
boot.img
恩,那么就进入打包阶段。你可能会问,这有什么难的,直接zip一下不就得了。如果要是这么简单就好了,你打包后,必须把你的内容都sign一下,得到相应的cert,才能在fastboot模式中被承认并成功刷机。
在sign你的文件之前,先做这么几件事
打包。进入update文件夹,zip update.zip xxx xxxx xxxx xxxx xxxx。什么意思呢,就是只把你需要的文件打包,不要用./*作为参数。而且相对路径最好是在update下面,不要在外面用zip update.zip ./update/*这种命令打包
去sun网站下载最新的
下载这个文件testsign一定要用JRE1.6.0.16或者更高,我知道这个有点恶心,但是提供下载的testsigh.jar就是按照这个版本或者更高编译的,你用老版本就运行不了。
好,下下来以后,执行这个命令
~/jre1.6.0_16/bin/java -classpath testsign_path/testsign.jar testsign update.zip update-signed.zip
稍微讲解一下,java程序是最新jre下的,testsign_path是你放testsign.jar的地方,建议放到sdk的tool目录下。update是待sign文件,update-signed是指定的生成文件名。
sign执行完后,用unzip -l看,会发现
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA

热心网友 时间:2023-09-14 23:32

方法有两种:

1、先要知道你的手机是哪个牌子,然后到论坛里下载root软件进行root,root一般都是连接电脑进行的,在电脑上操作,成功后,会出现一个骷髅头的软件图标。然后再下载recovery软件进行recovery,这也是连接电脑进行操作的。最后下载刷机包rom,放到内存卡里。不同的手机,重启进入recovery的按键方式各不同,我的手机华为和酷派都是按音量上和开机键就进入了。不知道如何进入recovery的话,你可以在连接电脑进行recovery之后,安装一个一键开关机的app软件,点它之后,里面有一条是“重启进入recovery”,点击这一条,进入后,按音量上、下键选择系统rom刷机包,确认,然后它会自己进行。好了之后,它会回到recovery届面,你点重启手机就行了。

2、到你手机的官方论坛下载系统刷机rom包,它有说明帮你如何进行卡刷,这样就不用recovery了。一般都是把刷机包放到内存卡,然后关机,再同时按音量上、下键和开机键直接进入刷机状态了!这是刷官方的系统。

3、说明:现在用360手机助理一键root很方便的,不用到论坛里找半天了。root成功后,才能用很多需要root授权的田软件,还可以卸载一些官方*的软件。这些不root是删不掉的,但要注意不要删过头了,有些是系统必须要的软件,卸载后系统会死掉,也就是死机了,变成板砖了。但不用急,root、recovery和刷机,这三步不管怎么样,都不会弄坏机子硬件的,只是系统坏了而已。实在不行,就按上面的方法2进行,刷回官方的系统,然后你再任意去搞它,都不会有问题的。下载recovery软件,还必须到论坛里下载的。recovery软件的功能很强大,里面有一键备份和还原,和台式电脑的一键ghost还原一样的。整个系统、所有的系统设置和软件都能备份进去。有了它,下次就不用重装系统了。

热心网友 时间:2023-09-14 23:32

找个论坛交流啊!民间大神很多的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
硅胶与液态硅胶手机壳的区别 什么样的过敏会传染 过敏的原理是什么?为什么有的人过敏,有的人不过敏?谢谢! 过敏为什么会痒 评审报告需要注意什么 财政评审流程及注意事项 高效项目评审的6大注意事项 银行双录 什么意思 什么是银行双录 在异地哪些可公证 vivoX6怎么移植安卓6.0系统 这张图片出处是什么 android rom移植 ext4文件系统 需要修改哪些 不是师范生可以考试教师资格证吗? 如何移植android 源代码到自己的手机上 ridge单词图片形象记忆 求教安卓系统软件移植!!! 非师范生报名教师资格证考试可选学科和学段都有哪些? 谁有软件可以帮我把这张图片上的字弄出来 求这张图片的动漫出处? 安卓系统怎么移植 如果我大学不是学的地理专业,但我考了教师资格证,将来想教初中地理,还要学习些什么 安卓系统移植是怎么样的,可不可以用我手机适配的第三方rom去移植别的rom啊,还有跨安卓系统版本号 这是图片谁,好火 请问这张图片是哪部动漫里的啊? 如何移植ANDROID系统 GALGAME看图识别游戏 安卓系统移植是什么 请问这个图片是哪个游戏或动画的? 如何移植安卓系统软件 安卓移植rom 选择system直接替换能行吗 今年最大范围沙尘来袭,沙尘天气对人类有哪些影响? 新一轮大范围沙尘天气来袭,会给哪些地区造成影响? 北方新一轮大范围沙尘又来袭!我们该如何防范? 今年最大范围沙尘来袭,将会影响到哪些城市? 北方新一轮大范围沙尘天气来袭,为什么今年沙尘天气格外频繁? 明起北方新一轮大范围沙尘天气来袭,今年为何频现沙尘? 周末北方“吃土”预警!新一*范围沙尘天气来袭,是否会影响到人们出行? 北方今年首场沙尘来袭,南北方气温有哪些明显变化? 沙尘天气又来,此次沙尘将会影响哪些地区呢? 北方入春来最大范围大风沙尘来袭,民众出行需要做好哪些防护? 想把旧实木地板更换成新实木地板,麻烦么 大风沙尘又来了!今年沙尘天气为何一轮接一轮?专家对此做出了什么解读? 北方大范围沙尘天气再次来袭!出行人群该如何避免风沙袭眼? 北方大范围沙尘又来了,此次沙尘暴形成的具体原因有哪些? 我国北方迎入春来最大范围沙尘天气,面对沙尘天气该如何防范? 北方又有大范围沙尘天气,为何今年频现沙尘? 北方入春来最大范围大风沙尘来袭,将会如何影响人们的生活? 北方大范围沙尘再度来袭,沙尘天气过程到底会给人们造成怎样的影响? 北方今年首场沙尘来袭,沙尘暴天气下该注意哪些安全问题?