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

相关文章

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

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