当前位置:首页 » 编程软件 » 编译cm教程

编译cm教程

发布时间: 2022-02-01 13:45:12

Ⅰ 使用keil5编译stm32,头文件core_cmFunc.h中,是预定义__CC_ARM,还是__GNUC__

编译的时候,可能是那个地方定义了__CC_ARM, 预编译指令执行了#if defined ( __CC_ARM )下面的代码,没有执行#elif defined ( __GNUC__ )下面的代码;

#if ...
...
#elif ..
...
是条件预编译,只执行其中的一个分支

Ⅱ 如何patchrom

本帖教程只是经验之谈,不过也有一些素材来自网络,本人对此不负任何责任
这个教程介于入门和进阶之间,也就是说比如简单一点的像:rom的大体结构啊、android的基本原理啊、linux的基本操作啊。这个教程都一概略过。而比较深入的像:apk的修改、开发,源代码的修改、编写,smali插桩,移植适配其他非官方机型。这也一概没有。
本教程仅介绍如何利用MIUI放出的patchrom资源完成编译MIUI的流程,适用于对自制rom以及linux有一定了解,喜欢miui,喜欢DIY,但不太熟悉如何使用patchrom以及其基本流程的发烧友
如果你对android、linux完全是一个门外汉的话,这个教程对你来说可能会有不少无法理解的地方。而如果你如果已经是大神了,希望多多指点,跟大家交流一下你的经验。

--------------------------------------------------------------------------------

第一部分:介绍一些基本概念
首先介绍几个比较基本教程的链接
MIUI官方提供的教程:http://www.miui.com/thread-402322-1-1.html
CM官方wiki上的CM编译教程:http://wiki.cyanogenmod.org/wiki/Category:Build_from_Source
android官方提供的AOSP编译教程:http://source.android.com/source/initializing.html
要学习利用开源源代码编译android rom的话,看完后面两个基本就够了,CM、PA这类的rom都可以根据CM的编译方法来编译,而AOKP这类的rom可以根据AOSP的编译方法来编译
大部分开源rom在他们的github上也会写上相关的编译流程以及主要的命令,比如PA除了用CM的编译方法手动输入每条命令来编译,也可以直接运行他们写好的build.sh来进行编译,基本上还是以实际文件和github上写明的流程为准
而MIUI当然跟这两种的编译方法都不一样,因为MIUI不是利用android源代码编译出来的,而是反编译现成的rom,修改相关smali来适配各种机型的,所以MIUI自己配置了一套编译平台,这也就是patchrom项目
都知道,android是基于linux内核的,而且谷歌也并没有提供适用于windows平台进行编译的相关代码和工具,所以要从源代码编译android是需要一个linux环境的
虽然谷歌同样也支持在苹果的mac系统上编译,但一方面mac的环境配置较为复杂,另一方面mac用户不如pc用户多,要装mac也远不如装linux方便,所以搞这个的,大部分人都是使用的linux
而基于linux内核的操作系统其实有很多,这些不同的linux系统也叫Linux发行版,最主流最常见最通用的一个版本,就是ubuntu(我个人是opensuse党,也在opensuse上编译过CM、MIUI,不过opensuse相对更复杂,而ubuntu现成的软件也更多更方便一点,所以这个教程里是使用的64位ubuntu 12.10来介绍的),而因此也有很多基于ubuntu修改的Linux发行版,比如深度的Linux Deepin和雨林木风的StartOS,所以相对来说,不论是原版ubuntu还是Linux Deepin和StartOS都比较适合刚接触linux的新手使用
以下所有输入命令的行为全是在“终端”程序中进行的,下文可能会有多处省略,所以你看到输命令可别问输在哪。

-----------------------------------------------------------------------
第二部分:编译环境的搭建

我本来是使用的12.04,64位桌面版,后来12.10出来了,就顺着更新上来了,因为我这里运营商强制上网得用他的拨号软件,所以我是在虚拟机里搭建的,其实我是推荐直接装在真机上,这样性能更好,编译速度也更快
ubuntu版本的选择、下载、安装、更换源、系统更新等等,我就不介绍了,网上教程一堆一堆的
在装好了ubuntu之后,我们就要开始android rom编译的环境配置了,大致的说一下,需要下载的文件总共有五步。

Ⅲ 如何编译 cm12

CN:准备编译
EN:Preparing System for Build

CN:通过APT-GET,安装以下d软件包
EN:Install the following items via apt-get.

Code:
sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-6-jdk openjdk-6-jre pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev

CN:如果是32位系统,清不要安装g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
EN:As per the instructions on the wiki for building CM, if you use a 32bit system, do not install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev.

CN:安装最新版本JDK
EN:Install the latest version of java's development kit using the following.

Code:
sudo apt-get install openjdk-7-jdk

CN:安装ADT
EN:Install the Android Development Kit using the following.
Code:
sudo apt-get install android androidsdk-uiautomatorviewer android-right android-src-vendor android-emulator android-tools-adb android-headers android-tools-adbd androidsdk-ddms android-tools-fastboot androidsdk-hierarchyviewer android-tools-fsutils androidsdk-traceview

CN:执行以下指令
EN:Run the following in terminal.
Code:
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

CN:重启系统,加载配置文件
EN:reboot your system or use the following in terminal to load the .profile file again.
Code:
. ~/.profile

CN: 获取源码
EN:Getting the source code.

CN:执行以下命令,获取CM12的源码
EN:Now we can get onto grabbing the source code of CM12.
Run the following in terminal.

Code:
mkdir ~/cm
cd ~/cm
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0
mkdir .repo/local_manifests
nano .repo/local_manifests/local_manifests.xml

CN: 当NANO打开之后,粘贴下面的内容,然后用ctrlx保存
When nano appears, paste the following into it and then exit using ctrl-x and choose to save.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_oneplus_bacon" path="device/oneplus/bacon" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_device_oppo_msm8974-common" path="device/oppo/msm8974-common" remote="github" />
<project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" revision="cm-12.0" />
<project name="CyanogenMod/android_kernel_oneplus_msm8974" path="kernel/oneplus/msm8974" remote="github" />
<project name="TheMuppets/proprietary_vendor_oppo" path="vendor/oppo" remote="github" />
<project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" />
<project name="CyanogenMod/android_frameworks_opt_connectivity" path="frameworks/opt/connectivity" remote="github" revision="cm-11.0" />
</manifest>

CN: 执行以下代码,继续获取代码
EN:Continue getting the code using the following.
Code:
repo sync
cd vendor/cm
./get-prebuilts
cd ../..

CN: 编译 CM12
EN:Building CM12
Run the following commands to build CyanogenMod.

Code:
. build/envsetup.sh
breakfast bacon
brunch bacon

CN: 成功编译,从out/target/proct/bacon/ 获取 cm-12-*-UNOFFICIAL-bacon.zip
EN:After successful build, you should be able to go about ing the built CyanogenMod and installing it into your phone. The CyanogenMod build is located in ~/cm/out/target/proct/bacon/ named something like cm-12-*-UNOFFICIAL-bacon.zip

You can install folllowing: http://forum.xda-developers.com/onep...s-one-t2940091

Re-building to update.
To re-build, you should just be able to run the following (Not yet tested myself, but makes logical sense).

Code:
make clobber
repo sync
cd vendor/cm
./get-prebuilts
cd ../..
. build/envsetup.sh
brunch bacon
Q&A
Q: Recieve error: fatal: plicate path device/qcom/sepolicy in ~/cm/.repo/manifest.xml
A: edit .repo/local_manifests/local_manifests.xml to remove the item which matches the item located in bold.

Q: How big is the repo?
A: 20GB just source code and 40GB when built. Therefore you should aim to have about 60GB free on your system.

Ⅳ 怎样从源码编译rom

本帖最后由 pigjohn 于 2014-2-10 20:24 编辑

一、你需要:
1.linux系统环境
教程使用ubuntu 12.04(LTS)
硬盘安装或虚拟机安装应该都ok。
2.电脑配置不要太差
二、搭建编译环境:
1.java安装配置
1) 删除旧版本java
ctrl+alt+t 打开终端。
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

sudo apt-get purge sun-java
复制代码
2) 安装java 1.6
添加软件源,打开终端输入
sudo add-apt-repository ppa:webupd8team/java
复制代码
下载安装,打开终端输入
sudo apt-get update && sudo apt-get install oracle-java6-installer
复制代码
跟随屏幕提示,你需要接受使用条款。
安装完成后,终端输入java -version,你会看到java版本信息。类似
java version “1.6.0_37″

Java(TM) SE Runtime Environment (build 1.6.0_37-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
复制代码
2.安装依赖软件
sudo apt-get install git-core gnupg flex bison gperf build-essential \

zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev \

ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 \

lib32z-dev libgl1-mesa-dev g++-multilib mingw32 \

tofrodos python-markdown libxml2-utils xsltproc readline-common \

libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev \

lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 \

libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev \

libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.6-dev
复制代码
等待安装配置完成
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
复制代码
三、源码下载
1.repo脚本下载
$ mkdir ~/bin

$ PATH=~/bin:$PATH

$ curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo

$ chmod a+x ~/bin/repo
复制代码
2.初始化repo同步
mkdir ~/cm11

cd ~/cm11

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0

复制代码
你需要按提示输入用户名和邮箱。
3.9003device源码
cd ~/cm11/.repo

mkdir local_manifests && cd local_manifests

gedit roomservice.xml
复制代码
粘贴以下内容
<?xml version="1.0" encoding="UTF-8"?>

<manifest>

<project name="dhiru1602/android_device_samsung_galaxysl" path="device/samsung/galaxysl" remote="github" revision="cm-11.0" />

<project name="dhiru1602/android_vendor_samsung_galaxysl" path="vendor/samsung/galaxysl" remote="github" revision="cm-11.0" />

<project name="dhiru1602/android_kernel_samsung_latona" path="kernel/samsung/latona" remote="github" revision="cm-11.0" />

<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-11.0"/>

</manifest>
复制代码
保存。
4.同步源码
cd ~/cm11

repo sync -j8
复制代码
源码有好几个G,同步时间长短取决于你的网络速度。
四、编译
1.编译之前同步最新源码
repo sync
复制代码
2.初始化环境
. build/envsetup.sh
复制代码
3.编译
brunch galaxysl
复制代码
接着喝杯茶,编译时间长短取决于你的电脑配置。
不出意外,你会最终得到~/cm11/out/target/proct/galaxysl/cm-11-XXXXX-UNOFFICIAL-galaxysl.zip
五、刷机测试

以上就是编译cm11的过程。

对于其他rom,类似。
mokee:
mkdir ~/mokee && cd ~/mokee

repo init -u https://github.com/MoKee/android.git -b kk_mkt

Ⅳ keil MDKCM515能否编译M0+

装两个软件,
Keil
C51
和Keil
4,先装哪个都没关系,关键是两个软件的安装路径不能在一起,也就是不能安装在一个盘里
都要破解的,破解时在生成的那个记事本文件里的内容要互相复制粘贴
那个相互粘贴的记事本文件名叫TOOLS·ini,复制其全部内容往后粘贴即可

Ⅵ nexus 5刷CM11教程

你好,给你介绍个简单的方法:下载一个一键刷机工具(我用的是刷机精灵),数据线连接把手机连在电脑上,打开软件先一键ROOT了,在rom市场里选择CM的Rom,一键刷机就行了。

Ⅶ 小米3刷cm11教程 小米3联通版刷cm11步骤

CM11
ROM基于cyanogenmod
4.4.4
11.0最新源码适配编译,基本功能完善,暂无明显BUG,大家通过刷机精灵一键刷入。
猜你还喜欢:
小米3刷安卓4.4教程
小米3升级android4.4步骤
华为荣耀6和小米3哪个好?荣耀6和小米3配置对比

Ⅷ CM到底怎么用啊!!!!!!!

我装cm的时候进入恢复模式看了 发现默认都是enable 不用开 你那个是不是也是这样的我不清楚 但是我的是能看见的 你的应该也能 网上有很多教程 tgbus上就有fc和cm的教程 很好学 自己看吧 我就不发链接了
先进游戏看看静音键能不能呼出cm 能还去开啥啊

Ⅸ cm怎么用啊!!!!!!!!!!!!!!

LZ的是什么版本?CM0.6?0.7?
这个教程很详细
http://bbs.levelup.cn/showtopic-570012.aspx

还有不懂可网络消息我

Ⅹ PSP3000的CM安装详细教程,高分!

我的QQ454768895您去下载个FC金手指 我可以一步一步的教您 而且非常简单易懂 如果您坚持要用CM金手指 http://rockman0769.blog.163.com/blog/static/651654482009922910568/请您认真阅读 相信会对您有帮助的!

热点内容
idc脚本编写 发布:2025-01-09 04:14:40 浏览:366
玩我的世界电脑服务器延迟怎么办 发布:2025-01-09 04:04:18 浏览:64
pythonfor条件 发布:2025-01-09 03:51:14 浏览:723
如何获取代理服务器 发布:2025-01-09 03:50:39 浏览:656
安卓授权管理怎么设置在哪里设置 发布:2025-01-09 03:24:35 浏览:661
玩rust要什么配置的电脑 发布:2025-01-09 03:18:03 浏览:779
肥胖的脚本 发布:2025-01-09 03:11:26 浏览:467
沙箱脚本 发布:2025-01-09 02:53:15 浏览:465
数据库第二范式 发布:2025-01-09 02:44:39 浏览:259
linuxtelnet开启 发布:2025-01-09 02:43:27 浏览:581