我想给旧安卓手机移植最新 Android 的 AOPS 版本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bufbz
V2EX    Android

我想给旧安卓手机移植最新 Android 的 AOPS 版本

  •  
  •   bufbz 2023-06-22 00:26:23 +08:00 13734 次点击
    这是一个创建于 894 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,希望有个大佬能教下,可以有偿,请教我下如何下手。或者提供下系统的学习教程。

    23 条回复    2023-06-23 21:50:37 +08:00
    yyzh
        1
    yyzh  
       2023-06-22 02:25:41 +08:00 via Android
    首先第一点驱动你打算怎么做?不开源的哦
    8yte
        2
    8yte  
       2023-06-22 03:03:02 +08:00 via Android
    AOSP 吗,是我记错了还是你拼错了
    另外[移植]是指刷机吗,那可以看看 xda 论坛
    Zys2017
        3
    Zys2017  
       2023-06-22 06:33:01 +08:00 via Android
    什么型号
    Sophimp
        4
    Sophimp  
       2023-06-22 07:14:33 +08:00
    可以先看看 lineageOS 有没有你的机型, 有别人帮你做好了, 就是学一下刷机的教程就可以了。
    Sophimp
        5
    Sophimp  
       2023-06-22 07:20:11 +08:00
    如果是想从源码级适配,这个就复杂得多了,需要有编程基础。
    得先找到你的机型有没有开源的 kernel 源码,先适配一个 twrp recovery (如果有现成的,也可以 clone 下来一个,换换内核)练练手,然后再移植 aosp 或者 lineageos
    可以参考文章[如何移植 CyanogenOS/LineageOS 到您自己的手机]( https://blog.yiyitec.com/2019/08/02/%e8%af%91%e5%a6%82%e4%bd%95%e7%a7%bb%e6%a4%8d-cyanogenos-lineageos-%e5%88%b0%e6%82%a8%e8%87%aa%e5%b7%b1%e7%9a%84%e6%89%8b%e6%9c%ba/)
    JensenQian
        6
    JensenQian  
       2023-06-22 09:00:58 +08:00 via Android
    左转隔壁 xda
    ltkun
        7
    ltkun  
       2023-06-22 09:08:02 +08:00 via Android
    一般小米高通系肯定有 不用折腾 其他的需要适配
    shalingye
        8
    shalingye  
       2023-06-22 12:03:22 +08:00 via Android
    之前有见过小米 4 的安卓 11 的 lineageos ,可以参考一下那位大佬的作品
    deorth
        9
    deorth  
       2023-06-22 13:12:51 +08:00 via Android
    同 soc 没其它人做过就直接洗洗睡。
    flyqie
        10
    flyqie  
       2023-06-22 14:32:46 +08:00 via Android   2
    kernel 和 hal 处理起来很麻烦,很多时候 shim 也不是万能的。

    如果你真想移植 aosp 的话,最好的办法就是先自己搞个云手机平台练练手(容器或者 vm 都行,真实设备推荐 vm)。

    网上基本没有成体系的从 0 开始的入门教程,你能找到的书基本都是过时的。

    aosp 不同版本之间改了很多东西,老资料基本不能满足入门需求。

    移植 aosp 没那么简单,教你成本极高,况且还不知道你基础如何。。
    flyqie
        11
    flyqie  
       2023-06-22 14:35:39 +08:00 via Android
    @yyzh #1

    aosp hal 架构是 linux 社区不待见 android 的主要原因。。

    移植起来真的非常头大,shim 也不是万能,很多东西还是做不了。
    QwQmoe
        12
    QwQmoe  
       2023-06-22 18:58:50 +08:00 via iPhone
    先学习英语,ROM 圈中文资料非常少
    bufbz
        13
    bufbz  
    OP
       2023-06-23 13:12:38 +08:00
    @yyzh #1 通过旧手机 root 提取是否可行?
    bufbz
        14
    bufbz  
    OP
       2023-06-23 13:15:24 +08:00
    @8yte #2 我拼错了,是想通过提取已 root 系统驱动,适配安卓 AOSP 版本。
    bufbz
        15
    bufbz  
    OP
       2023-06-23 13:19:29 +08:00
    @Sophimp #5 谢谢,这个博客很有帮助。
    bufbz
        16
    bufbz  
    OP
       2023-06-23 13:25:21 +08:00
    @flyqie #10 目前的想法是:1.root 旧手机,备份相关文件,提取硬件驱动相关文件
    2.rec 大部分网上有现成的。
    3.就是跟 aosp 的包融合刷机
    bufbz
        17
    bufbz  
    OP
       2023-06-23 13:26:03 +08:00
    @QwQmoe #12 英语文档也可以,只要能系统引导下就行。
    bufbz
        18
    bufbz  
    OP
       2023-06-23 13:27:41 +08:00
    @shalingye #8 小米的是比较多大佬已适配,手头上有几台 oppo vivo 的旧手机
    shalingye
        19
    shalingye  
       2023-06-23 16:36:03 +08:00
    @bufbz aosp 移植确实挺困难的,要面临很多问题,像 pe 这些原生系统都是基于 aosp 开发的。
    tyzandhr
        20
    tyzandhr  
       2023-06-23 20:25:01 +08:00 via Android
    第一步:拥有一台 32GB 内存以上,200GB 硬盘的编译机
    tyzandhr
        21
    tyzandhr  
       2023-06-23 20:27:20 +08:00 via Android
    编译本身就非常困难。我之前想为我的 Xperia 适配 lineageos ,按照 Sony 官方的指引下载的编译配置文件。好不容易解决所有设备配置冲突,结果卡了编译。
    flyqie
        22
    flyqie  
       2023-06-23 21:49:17 +08:00 via Android
    @tyzandhr #20

    我这边编译机硬盘是 480*2 的 ssd ,做了 raid0 。。

    200g 咋说呢,不太够其实。。
    flyqie
        23
    flyqie  
       2023-06-23 21:50:37 +08:00 via Android
    @bufbz #16

    硬件驱动这边如果能直接跨版本移植的话就不会有 shim 方案了。。

    你可以试试,但是大概率会很麻烦。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5136 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 09:29 PVG 17:29 LAX 01:29 JFK 04:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86