请问我想做一个自己专属的 rom 该如何学起? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
scrateV2
V2EX    问与答

请问我想做一个自己专属的 rom 该如何学起?

  •  
  •   scrateV2 2024-12-09 16:17:41 +08:00 1873 次点击
    这是一个创建于 378 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人计算机应用专业毕业,目前年龄 40+。目前赋闲,自己手里有很多旧安卓手机,我想改着玩,去掉很多不必要的系统集成安装的垃圾,只保留最基本的操作系统功能,然后去做其它的用处。

    例如,旧手机开发成 HiFi 随身听,类似飞傲 r9 的功放,全屋智能的中控。

    这上面的是我的终极目标,我知道实现起来不易。但是我可以一步一步的坚持做下去。

    第一,我该学习何种语言才能开始尝试进行开发?

    第二,我之前百度看了安卓系统的介绍和刷机的内容,但是年代久远,无法整合,且现在的视频都讲的不清不楚,多数属于广告性质,想要赚钱的。(我手里最多的 HTC ,华为,小米)。

    第三,我去问过网上那些嵌入式的培训班。不是不愿意搭理我,就是拿我当刚毕业的大学生一样推销培训之后工作多好找,单从他们给我的宣传页上的课程内容,我估计他们也不懂我想要干嘛。如果大神有兴趣回答我的问题,请不吝赐教,说的详细点。

    我的知识有些陈旧,毕竟毕业很多年了,且也不是编程工作为主的,但是我很有事件,且动手能力非常强。当年在学校里教授都是给我的脏活让我动手的。

    我的目的就是要去干点打发时间精力且有点意义的活儿,让家里的那些旧手机不用去换不锈钢盆。
    21 条回复    2024-12-11 16:28:30 +08:00
    leconio
        1
    leconio  
       2024-12-09 16:20:09 +08:00 via iPhone
    好想法,旧手机换不锈钢盆
    qhd1988
        2
    qhd1988  
       2024-12-09 16:21:44 +08:00
    要不先把 asop 的源码看明白?然后再学安卓开发?
    woctordho
        4
    woctordho  
       2024-12-09 16:23:35 +08:00 via Android
    先试试找个支持 LineageOS 的旧手机,把 LineageOS 官网上编译 ROM 的教程跟着走一遍
    scrateV2
        5
    scrateV2  
    OP
       2024-12-09 16:28:09 +08:00
    @jettming 开眼界了,我就知道 github 是个宝藏,但是完全不会用啊。
    scrateV2
        6
    scrateV2  
    OP
       2024-12-09 16:28:39 +08:00
    @woctordho 好的,我先从这个开始摸索。
    scrateV2
        7
    scrateV2  
    OP
       2024-12-09 16:29:19 +08:00
    @qhd1988 你这个打法属于少林派,我记下来。
    scrateV2
        8
    scrateV2  
    OP
       2024-12-09 16:37:57 +08:00
    @woctordho
    大佬,我刚刚粗略的浏览了一下 LineageOS 支持的旧手机型号,都比我手里要改的新,我有点疑问是熟悉了这个流程就能去开发更旧的版本了吗?
    woctordho
        9
    woctordho  
       2024-12-09 17:12:42 +08:00 via Android
    @scrateV2 比如在这个网页
    https://wiki.lineageos.org/devices/
    不要选 filter 里面的 hide discontinued devices ,就有很多更旧的手机,比如有小米 3

    如果你的手机真的还要旧的话,我就不知道了
    aboat365
        10
    aboat365  
       2024-12-09 17:22:37 +08:00
    我非常理解你的述求,我把你的需求分成两部分,一部分是安卓系统开发,一部分是安卓应用开发。以上两部分有重叠,但整体来说差异非常大,自学任何一种都需要很多的时间。其中安卓系统开发还比较特殊,你不是努力就能做到厂家能做的事情,因为厂家在硬件层面有很多你不知道的东西,以至于你根本无法自定义开发。举个例子,手机无法 root ,系统级的修改你就做不了,包括刷机。
    scrateV2
        11
    scrateV2  
    OP
       2024-12-09 17:38:31 +08:00
    @woctordho 真的还有更旧的 HTC g10 和小米 1,2
    scrateV2
        12
    scrateV2  
    OP
       2024-12-09 17:45:06 +08:00
    @aboat365 这个事情难度非常大,我清楚的。例如小米现在想解锁 bootloader 都难如上青天。我的想法是之前不是有很多前人做的刷机包么,我能利用他们给的刷机包刷开闲置,删掉不必要的 app 。不要开机显示小米,华为,htc 的 logo 。我开发桌面能让手机横屏显示,并且桌面图标也按照横屏排列,这样子就成了,然后找出手机主板能外接的电源点或者数据线通出去做为一个解码控制平台,然后增加 AMP ,DAC 什么的,网上现在海贝,飞傲的 app 都是免费给大家用的。

    先初级能改成这个样子我就心满意足了。
    k1rin
        13
    k1rin  
       2024-12-09 18:47:55 +08:00
    @scrateV2 #12 没解 bl 锁应该刷不了非官方系统吧。不如在原系统的基础上找找有没有这种软件,没有的话开发软件应该比改系统容易些。
    hirenloongdddd
        14
    hirenloongdddd  
       2024-12-09 20:00:55 +08:00
    大佬加油,以后需要 BETA 测试,可以 Call me
    \@_@/
    gam2046
        15
    gam2046  
       2024-12-09 20:08:31 +08:00
    >> 去掉很多不必要的系统集成安装的垃圾,只保留最基本的操作系统功能

    这一步不需要学习什么,aosp 里不依赖 packages 的 apps 就行了,属于有手就行,vendor 源码一般是不公开的,只有 binary ,也没有什么精简的空间;一些三方社区维护的系统,基本上把 Google Apps 去掉,就是这个状态了。

    >> 旧手机开发成 HiFi 随身听

    这个就是普通的 Android 开发,与 framework 定制无关。
    h4de5
        16
    h4de5  
       2024-12-10 08:57:31 +08:00
    可以淘宝买几百块的 google 前几代的手机,LineageOS 的基本都支持,而且刷机进去几乎就没有什么第三方 app 。
    DevHuaJi
        17
    DevHuaJi  
       2024-12-10 10:43:46 +08:00
    这些需求感觉不需要动源码,改镜像本身就可以,然后自己做一个 launcher 设为默认;

    HiFi 解码可能没太大操作空间。软件涉及闭源驱动,硬件差距就更大了,安卓的 HiFi 播放器基本是成品核心板,厂商做的是外围电路
    scrateV2
        18
    scrateV2  
    OP
       2024-12-11 16:21:03 +08:00
    @h4de5 我是为了手里的旧手机做菜啊,而不是为了这个软件去做菜,如果真心为了搞安卓开发,去买个倒是没问题。
    scrateV2
        19
    scrateV2  
    OP
       2024-12-11 16:22:02 +08:00
    @DevHuaJi 对你说的改镜像有些了解,只是在看刷机教程里说过,具体怎么改完全不知道。
    scrateV2
        20
    scrateV2  
    OP
       2024-12-11 16:24:47 +08:00
    @gam2046 不太搞得明白你说的具体内容,大概我明白你的意思。我目前不了解的具体内容是,刷机国内没有详细的教程了,很多内容说的都语焉不详,第二点就是三方系统都有啥我不清楚,能刷哪些机型我也不知道。
    scrateV2
        21
    scrateV2  
    OP
       2024-12-11 16:28:30 +08:00
    @DevHuaJi https://blog.csdn.net/fromVillageCoolBoy/article/details/132456536 他这个教程里提到的语言开始像是 c 后面的 xml 注释吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5521 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 06:52 PVG 14:52 LAX 22:52 JFK 01:52
    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