移植 AOSP 的必要条件都有哪些?

2017-03-27 05:30:15 +08:00
 phantastar
最近被华为 mate8 系统上的各种不便搞得头大,遂决定直接移植 aosp 到手机上。
看了 aosp 官网和 XDA university 的介绍,似乎都没有给出 Nexus 设备以外的详细移植介绍。
所以小弟在这里想麻烦各位 V 友给予一些提示,小弟初次接触 Android 移植,还请各位大大给予一条明路:
1.aosp 移植方面有没有详细教程,应该去哪里寻找?(这个有的话小弟就可以自己去琢磨了)
2.aosp 移植的必要前提有哪些?(官网的 preparation 步骤已经完成)
3.只有 Android6.0 的 kernel 源码,可以移植 Android7.1 吗?(华为官方只开放了 mate8 Android6.0 的 kernel 源代码,目前 mate8 最高可以升级至官方 Android7.0)
4.华为官方的 kernel 源码应该怎样利用以结合 aosp ?
5.如果 mate8 因 kernel 限制而只能移植 Android6.0 aosp ,那么 HTC one M7 这类官方停更机型为什么可以打破限制,出现第三方的最新版本系统 ROM ?
28031 次点击
所在节点    Android
109 条回复
mengzx
2017-03-27 07:56:15 +08:00
可以看看 aokp 这些 rom 使用,如果一定要自己编译我也不知道,就是感觉编译这些是不是太费时间了
Shura
2017-03-27 08:03:48 +08:00
麒麟 soc 的手机最好就不要折腾了,官方开源不完整,很难移植的。至于 m7 因为 soc 是骁龙 600 ,相同 soc 的很容易移植的。
nxn1987
2017-03-27 08:13:39 +08:00
移植最大的问题是驱动,官方开源 kernel 但是不开源驱动的,所以基本上无解。

大厂的 SoC 开源相对规范一些,再加上民间大神多,很多坑都有人解决,所以第三方 ROM 比较活跃。
HackerOO7
2017-03-27 08:18:10 +08:00
麒麟 CPU ,不用考虑拉,外部连分泄露的代码都没。 HAL 都层搞不了
paranoiagu
2017-03-27 08:20:12 +08:00
最大的问题是麒麟似乎没人搞,资料也少。
华为官方有 7.1ROM 吗?有的话,直接用华为自己的内核试试看。
总的来说,不简单。
phantastar
2017-03-27 09:29:28 +08:00
@mengzx 嗯嗯谢谢
crysislinux
2017-03-27 09:31:59 +08:00
不如换个手机算了。。
phantastar
2017-03-27 09:34:11 +08:00
@paranoiagu 上面有人提到说驱动不开源。请问按您的意思,是不是驱动可以用华为现成的(或者说制作不含驱动的 rom )
phantastar
2017-03-27 09:37:07 +08:00
@nxn1987 我现在在想一个问题:有没有办法将华为官方的驱动合并入 aosp ,还望您给出一些意见
phantastar
2017-03-27 09:37:38 +08:00
@Shura 嗯嗯我在考虑联系官方
phantastar
2017-03-27 09:38:21 +08:00
@HackerOO7 简直要哭了
phantastar
2017-03-27 09:40:39 +08:00
@crysislinux 其实这个问题有点像是:如何为一部国产手机制作 rom (又名:菜鸟的成长)(括弧笑)
gam2046
2017-03-27 09:45:06 +08:00
个人感觉比较吭的 都是和驱动相关的,比如第三方 ROM 里 人民群众喜闻乐见的相机不能用啦, WiFi 不正常啦之类的。你这直接说不含驱动的 ROM ,那就没啥意义了,手机上所有硬件都不能用,那为啥不去买个功能机算了。至于驱动从官方其他系统系统中移植的可行性不太懂,但是参考 Windows 的情况,可能会出现与系统不适配的情况(类比, XP 的显卡驱动丢到 Win10 上 很可能也是用不了的)。

综上,楼主的华为可能成为学费机,比较切实可行的方案时,出掉手中的华为回口血,然后重新买个自己喜欢的(比如说亲儿子系列)
badec
2017-03-27 09:51:29 +08:00
华为 emui5 已经很贴近原生了,有什么真的很不便的问题吗? lz 的描述只有换一部手机才能解决
qdk0901
2017-03-27 09:56:18 +08:00
kernel 不升级,一些驱动能重用。
但是原有的 hal 库在新版本上就有可能用不了了
besto
2017-03-27 10:21:54 +08:00
一台好电脑,最好装 Linux 。
没有底层的库还是不要指望了。
phantastar
2017-03-27 10:25:16 +08:00
@gam2046 嗯嗯感谢,我想完美移植,看来难度不小
ovear
2017-03-27 10:30:05 +08:00
小版本还好,大版本的系统架构可能都不一样,驱动也有很大几率不通用。)比如说 2.3 到 4.0 的触摸屏驱动,就是完全不同的架构。
更大的问题是,如果驱动是在内核里面的。。。而那个内核又不支持你所需的版本。。那就基本残废了
d7101120120
2017-03-27 10:34:34 +08:00
如果是不喜欢 emui 的图标之类的可以装一个 nova launcher
mozartgho
2017-03-27 11:20:22 +08:00
64 位 Linux , 50G 空闲硬盘是必须的。可以看 CM 的 wiki ,另外需要设备厂商开放 Device Tree ,否则没法适配

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/350509

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX