當前位置:首頁 » 編程軟體 » 編譯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/請您認真閱讀 相信會對您有幫助的!

熱點內容
HED編譯 發布:2025-01-09 18:20:26 瀏覽:407
從安卓轉移設備從哪裡呢 發布:2025-01-09 18:12:31 瀏覽:556
為什麼半夜伺服器會炸 發布:2025-01-09 18:06:32 瀏覽:320
編譯器處理數據類型 發布:2025-01-09 18:06:29 瀏覽:945
狐狸視頻源碼 發布:2025-01-09 17:56:27 瀏覽:443
javaif或條件 發布:2025-01-09 17:51:22 瀏覽:295
編程二級證 發布:2025-01-09 17:41:48 瀏覽:534
強化配置後面用什麼片語 發布:2025-01-09 17:37:01 瀏覽:394
蘋果怎樣解壓縮文件 發布:2025-01-09 17:12:32 瀏覽:444
同方存儲 發布:2025-01-09 17:04:30 瀏覽:800