CM源码(CyanogenMod)源码编译

2024-06-10 23:48
文章标签 编译 源码 cm cyanogenmod

本文主要是介绍CM源码(CyanogenMod)源码编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CM源码(CyanogenMod)源码编译教程

准备编译环境

 

注意: 编译环境只需要搭建一次,如果你之前搭好环境了,

安装编译必须的组件包

安装编译ROM必须用到的一些组件包:

32位&64位系统都必须安装以下组件包:

git-core gnupg flex bison gperflibsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zipcurl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool

64位系统还需要安装一下组件包:

g++-multilib lib32z1-dev lib32ncurses5-devlib32readline5-dev gcc-4.3-multilib g++-4.3-multilib

提示: 安装的时候可能会提示部分组件包被新的包代替,没有关系的。

 

提示: 如果是Ubuntu 10.10, 你必须通过以下命令增加一个合作源才可以安装sun-java6-jdk:

add-apt-repository "debhttp://archive.canonical.com/ maverick partner"

 

创建目录

你必须先创建一些必须的目录来同步CM源码

输入以下命令建立bin目录用来存放repo等工具:

mkdir -p ~/bin

建立android/system目录来放置CM源码,这里的android和system都是可以按照个人需要改变的。比如cm/cm7、cm/cm9等等。

mkdir -p ~/android/system

 

安装Repo功能

通过一下命令安装“repo”工具:

curlhttps://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo<

chmod a+x ~/bin/repo

提示: 你可能需要重启电脑才能生效。

接下来对repo设置你要获取的源码分支:

cd ~/android/system/

repo init -ugit://github.com/CyanogenMod/android.git -b gingerbread

repo sync -j16

 

从设备获取必须文件

 

NOTE: 这个步骤每台手机机器只要操作一次即可,不用每次编译都执行,之前执行过的话,

You will need to have a {{{Device}}} with aworking copy of CyanogenMod install and ADB working on the computer. Thisscript will copy the proprietary files from the device.

Connect the device to the computer andensure that ADB is working properly.

cd~/android/system/device/{{{vendor}}}/{{{device}}}/

./extract-files.sh

NOTE: If some hardware isn’t working, likecamcorder or FM radio, you will need to find the updated prop blobs.

 

下载RomManager

 

注意: 这个步骤仅仅是为了更新RomManager,如果你不想更新到最新版本.

但是,要注意的是,RomManager是必须的,没有RomManager可能会出现编译不通过。

执行以下命令就可以了:

~/android/system/vendor/cyanogen/get-rommanager

编译CM源码(CyanogenMod)

 

更新源码

首先更新一下源码:

cd ~/android/system/

repo sync

确定机型 & 编译

确定你要编译的机型代号.

. build/envsetup.sh && brunch 机器代码

检查源码

First, check for updates in the source:

cd ~/android/system/

repo sync

刷机测试

 

在~/android/system/out/target/product/机器代码文件夹下可以找到编译好的ROM包,名称一般类似update.cm-XXXXX-signed.zip.

 

 

 

http://sunzeduo.blog.51cto.com/2758509/1357302

http://blog.csdn.net/andie_guo/article/details/16879443

http://hualang.iteye.com/blog/1139269

http://ihopeyoustayforeveryoung.iteye.com/blog/1559973

http://www.banxiayue.com/ubuntu1204android403.html

 

 

 

http://download.cyanogenmod.com/?device=crespo&type=stable

http://wiki.cyanogenmod.org/w/Development

http://wiki.cyanogenmod.org/w/Build_for_maguro

这篇关于CM源码(CyanogenMod)源码编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049620

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听