V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yalltd
V2EX  ›  Android

想编译 CyanogenMod 的 rom,怎么下手?

  •  
  •   yalltd · 2016-01-22 22:08:23 +08:00 · 15165 次点击
    这是一个创建于 3232 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手上的荣耀 4A ,华为的系统实在恶心,外面流传的 rom 都是什么精简版, root 也是假 root ,不爽,想自己编译 CM 的 rom ,这里有 CM 官方的教程:

    https://wiki.cyanogenmod.org/w/Doc:_porting_intro

    但是我看的云里雾里……英文不太好,而且从 4.2 Method 2: Fork a similar device's git repository 开始就更不懂了, git 什么东西的全部没玩过,我不是程序员……

    华为官方有一个 120MB 的荣耀 4A 的源码包,这里: http://emui.huawei.com/plugin.php?id=hwdownload&mod=detail&mid=181 , CM 的源码我也可以 repo 到,问题就是手机的源码和 CM 的源码都到了本机之后怎么搞?玩过的大侠请指点指点,不甚感激~:)

    22 条回复    2018-03-16 21:08:18 +08:00
    SoulSleep
        1
    SoulSleep  
       2016-01-22 22:18:48 +08:00
    搜索引擎 关键字 git github
    大概就是一个放源码的网站, git 是获取这个网站代码的一种方式
    tenfar
        2
    tenfar  
       2016-01-22 22:31:56 +08:00
    这是一个系统工程,你需要了解 android 的源代码结构,整个 Android 的启动流程和系统架构。适配涉及到内核和 HAL 。比较新的 CPU 会有比较多的参考。不是一个帖子能说完的。先把 CM 的 wiki 全部看完吧。
    kokutou
        3
    kokutou  
       2016-01-22 23:01:31 +08:00
    4a cpu 才高通 210 算了吧。。。换个手机。。。对自己好一点。。。
    vibbow
        4
    vibbow  
       2016-01-22 23:27:23 +08:00
    基本上, LZ 的问题是:
    我已经把零件都找到了,怎么组装一台飞机出来。
    yalltd
        5
    yalltd  
    OP
       2016-01-22 23:41:40 +08:00
    @tenfar 复杂了吧?
    kmahyyg
        6
    kmahyyg  
       2016-01-22 23:59:24 +08:00
    搭车同问,目前红猴 2 备机急需 cm
    br00k
        7
    br00k  
       2016-01-23 00:03:06 +08:00
    相信我,没现成的自己折腾。花的时间够你换 n 台设备了。而且还未必有结果。
    ifaii
        8
    ifaii  
       2016-01-23 09:05:47 +08:00
    建议换手机 主要是配置太低了 纯属折腾
    cxmtime
        9
    cxmtime  
       2016-01-23 18:20:13 +08:00
    太折腾,换个手机现实一点。
    Reficul
        10
    Reficul  
       2016-01-23 19:53:39 +08:00 via Android
    从 git 开始的话,感觉 LZ 在一下午后头晕目眩,吃完晚饭后再没有动力继续点开终端模拟器
    neoblackcap
        11
    neoblackcap  
       2016-01-23 23:12:35 +08:00
    编译 Android Rom 是个大工程,你去看看 Android 内核编译的配置要求就知道了,貌似是需要一台 16G 内存的机器,小于这个数的不能编译。
    tempdban
        12
    tempdban  
       2016-01-24 01:19:09 +08:00 via Android
    @neoblackcap 实际上 4g 内存已经够用了
    yalltd
        13
    yalltd  
    OP
       2016-01-24 05:07:18 +08:00
    @neoblackcap 我的机器是 16G 的

    好多人都在给我泼冷水,有那么难搞吗?不就是 CM 的源码到位之后再把 4A 的源码放到合适的位置然后终端输入合适的命令开始编译嘛??我肯定不会调试,我也不准备学着调试,我只要编译出一个能用的 CM rom 就可以了,如果不能用,再来一遍,如果还不能用,那就彻底死心,所有的源码全部删除,手机恢复官方的系统然后找机会卖掉……

    拜托程序员大哥们直接告诉我 CM 源码到位后,华为网站上下载的那个 4A 的源码包怎么处理才可以开始编译?谢谢大家,不会编程的小弟给大家鞠躬了~~~
    lee015
        14
    lee015  
       2016-01-24 10:24:55 +08:00 via Android   ❤️ 1
    一个人适配个系统真的不太现实。手机厂商给的源码一般就只有个 kernel 和一点基本驱动,一般是没法直接用的。内核、驱动、 framework 等一系列需要调的,不是把华为源码放 cm 下就能轻松编过正常使用的。一般是公司一个部门来做新手机适配(做到能开机,基本功能正常),还要板卡厂商的支持。
    所以建议还是不要折腾这个了,不是说没可能做出来,而是太复杂太费精力,没必要了。
    neoblackcap
        15
    neoblackcap  
       2016-01-24 22:32:29 +08:00   ❤️ 1
    @yalltd 若是那么好搞得话,那么论坛里面的人就不会出所谓的精简包,而是 nightly 优化包了。

    编译这东西,特别是 Android 这么大的项目事实是不好编译。还有就是 CM 给华为做适配了吗?若是没有做适配,你就得自己做适配, CM 那个是移植教程,不是保证你编译出来就能用了。

    楼上的都说了其难度,你真没见过程序员付费编译 rom 吗?我见过,别人还只是编译出来就给钱了,发帖的还是一个程序员,因此这事真不好做。你若是要去学习的话,你可以看 CM 的 wiki 以及 Android 的官方教程,里面是有写的。一个 rom 的具体难点在交叉编译一个 linux 内核,接下来就是编译 Android 配套的一些 Framework 等部件。真没办法在一个帖子里面全说出来,我给你贴一些参考资料。

    [1] http://source.android.com/source/building.html
    yalltd
        16
    yalltd  
    OP
       2016-01-25 00:22:40 +08:00
    @neoblackcap 谢谢,已经不想编译了,选了有 CM 官方包的米 4 、 zuk 等几个手机,心情好的时候下单……
    mritd
        17
    mritd  
       2016-01-25 08:18:13 +08:00
    @vibbow 666 哈哈 。。。我也是,求教 怎么组装???
    evilic
        18
    evilic  
       2016-01-25 09:13:58 +08:00
    前两天为了用 xposed 的微信抢红包框架才去收拾了一个 p8 这同样恶心的手机。刷 recovery 后刷 root ,然后删除了 hwsystemmanager ,从配置文件里禁用 hwwthememanager 、安装了 google now launcher 后卸载了 hwthememanager (终于不用再看那破圆角了),然后在 application 这个应用的帮助下删除了大约 10 个左右的系统 apk ,目前暂时用着还中。

    目前说的假 root ,确实有些应用在显示得到 root 之后还是不能正常的干 root 的活,我觉得可能是华为的系统里面还有一个与权限有关的应用在做怪,目前正在查找。但是,我们已经可以挂载系统盘为 rw 了啊,东西想删就删,已经有进步了。

    xposed 还是没有成功的安装上,刷进去之后用 logcat 查看会报成坨的错,无解中。
    要不是我的 nexus4 刷到了 android m ,我真心不想收拾 p8 。
    其实直接在基础上改就好了,毕竟一个手机就用到硬件不中就换了。
    evilic
        19
    evilic  
       2016-01-25 09:14:45 +08:00
    印象里 4a 好像在 xda 上还是有用户帮忙解决问题的
    hqs123
        20
    hqs123  
       2016-01-25 10:28:09 +08:00
    github 不过源码太大了下载要很久.
    tenfar
        21
    tenfar  
       2016-01-27 16:39:19 +08:00
    @yalltd 不是给你泼冷水。是确实比较庞大的工程。好吧,这么说吧。我曾经花 2 天时间跑起来一个 CM ,不过当时还是 CM11 还是 CM12 来着。你可以自己去尝试,像你说的,一次不行两次,两次不行 3 次。看看你需要多长时间。问题还在于,就算跑起来了,进了系统了,你要将一个系统变成可用状态,还涉及到 wifi ,蓝牙,通信,传感器.. 就说这么多了。 PS :跑起来了回来告知一下哈。
    yiqiok
        22
    yiqiok  
       2018-03-16 21:08:18 +08:00
    @yalltd 跑起来了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1024 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:13 · PVG 05:13 · LAX 13:13 · JFK 16:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.