android系統製作刷機包方法:
【一】:下載安裝最新版ROM助手(市場中有很多類似的製作工具,關鍵要求操作簡單,功能強大),安裝程序非常簡單,只需在一隻蘑菇首頁內直接下載,並解壓到自己的電腦安裝即可。
【二】:如果已經下載了與機型匹配的ROM刷機包,那麼現在可以直接打開ROM助手了,接下來繪制專屬個性的完美刷機包就從這里開始吧。
【三】:打開軟體後,它會自動升級到最新版本,另外打開主界面後,會直觀簡明的顯示出它的所有功能,例如:性能優化,系統精簡,預裝APK,簽名打包等等。提醒大家,不要貪心哦,要根據自己的需求點擊需要操作的功能,如系統精簡,然後進入操作界面,所有功能全部修改一遍也無妨,反正都是一鍵操作,省時省力。
B. android源碼編譯後如何製作成rom
SDK是開發包,不是完整源代碼吧。你可能需要在linux上repo完整4.3源代碼(25G左右,精簡後8個多G)。如果手機內核不是3.0以上可能還要重新編譯更新內核(Android4.3貌似一定要3.0以上內核版本)。其實我也不知道如何製作Rom,但略懂下載編譯Android源代碼和內核源代碼,也想知道如何從源代碼製作rom,希望能與樓主交流!
C. 我想修改別人修改過的安卓ROM裡面的framework-res.apk文件,反編譯後沒問題,可是回編譯不了,怎麼弄啊
twframework-res.apk 刷機包里 SYSTM下 framework 里 直接用WINRAR打開 或改後綴RAR 裡面 RES里 drawable帶---的四個文件夾 就是圖片文件夾 可以在UOT廚房修改
D. 怎樣從源碼編譯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
E. 如何把Android源碼編譯成手機的Rom(我有4.3sdk和unyaffs)
SDK是開發包,不是完整源代碼吧。你可能需要在Linux上repo完整4.3源代碼(25G左右,精簡後8個多G)。如果手機內核不是3.0以上可能還要重新編譯更新內核(Android4.3貌似一定要3.0以上內核版本)。其實我也不知道如何製作Rom,但略懂下載編譯Android源代碼和內核源代碼,也想知道如何從源代碼製作rom,希望能與樓主交流!
F. 如何編譯一個可以燒寫進手機中的ROM,Android安卓開發者
首先.還是跟其它文章講的一樣.先下載ANDORID的源碼.在下源碼之前.請看下面第一步
----------
增加代碼,下真機配置
1
vim .repo/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-2.6.29"/>
<project path="hardware/htc/dream" name="platform/hardware/htc/dream" revision="master"/>
</manifest>
增加上面這段代碼,為一個配置.告訴伺服器.我們下的代碼.是要裝進真機的.
(就為了多下載一個KERNEL下來。。還有下載DREAM的真機配置參數..)
小哈在這里折騰了很久.很久..非常久..回憶起來內牛滿面
-----
下相關的代碼
2.
repo sync
-----
3.
vim env_rc
加入:
export EMU=/home/coconut/cupcake/out/host/linux-x86/bin
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:/home/coconut/cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:${EMU}
source env_rc
4.
編譯內核及無線網路驅動
$ cd $ANDROID/kernel
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- msm_defconfig # 設定默認的msm配置
#編譯內核
make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
#編譯無線網路驅動
cd $ANDROID/system/wlan/ti/sta_dk_4_0_4_32
make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- KERNEL_DIR=$ANDROID/kernel
//內核拷到目錄下
$ cp $ANDROID/kernel/arch/arm/boot/zImage $ANDROID/vendor/htc/dream-open/kernel
$ cp $ANDROID/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko $ANDROID/vendor/htc/dream-open/wlan.ko
5.
在HTC網站(developer.htc.com/adp.html)
下載名為signed-dream_devphone_userdebug-ota-14721.zip的包,並把它放在$ANDROID目錄下
$ cd $ANDROID
$ source build/envsetup.sh
$ lunch aosp_dream_us-eng # 指明機型
這樣編譯出來.就會在OUT下出來一個DREAM_OPEN的目錄.裡面就有相關的鏡像文件了.
$ cd vendor/htc/dream-open
$ ./unzip-files.sh # 解壓htc相關驅動
$ cd $ANDROID
$ vi buildspec.mk # 新建配置文件
----
Vim htc_dream.mk
vim /oracle/android/src/vendor/htc/dream-open/htc_dream.mk
在頭部增加
PRODUCT_PACKAGES := \
Calculator \
Email \
ImProvider \
SdkSetup \
VoiceDialer
完成。
回到根目錄
cd /oracle/android/src
vim buildspec.mk
加入( 2010.7.7 不需要加入):
#TARGET_PRODUCT:=htc_dream
#TARGET_PREBUILT_KERNEL:=kernel/arch/arm/boot/zImage
增加:
CUSTOM_LOCALES:=zh_CN
然後:
其中增加環境:
ubuntu 8.10 , sudo apt-get libelf-dev
make clean
// 保證PC有 1280 內存, 加上 1000 SWAP空間..虛擬機也是如此.
然後開始編譯 BOOT.IMG SYSTEM.IMG USERDATA.IMG:
make -j2
接下來
mmm -B $ANDROID/packages/apps/Luancher/ snod
cd out/target/proct/dream-open/
//先測試:
emulator -system . -kernel ~/cupcake/prebuilt/android-arm/kernel/kernel-qemu -data userdata.img
因為出來了BOOT.IMG.這個是真機的..所以不能用BOOT做為內核.要用模擬器來做內核.
//然後開始燒機
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot reboot
G. 怎麼學習製作rom啊!求教程
如何製作ROM
有點玩機興趣的android愛好者,應該對custom ROM這種東西都不陌生。我介紹root許可權獲取的時候,就直接用的MoDaCo Custom ROM作為例子。適用於Hero比較好的ROM還有不少,比如Drizzy』s Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,這些ROM都是怎麼做的。考慮到中文社區相關資料比較少,在這里拋磚引玉,大概原理介紹一下。
對於第三方ROM來講,通常都包括兩部分,一個recovery image,一個update.zip。而大多數的第三方ROM的特色,就是加入了很多東西,比如superuser程序來獲得root許可權,busybox來擴充命令行下的功能,各種各樣的配置文件或者小工具,比如默認打開中文locale,等等。這些看似神奇的改動,都是在 update.zip裡面搞的,custom recovery image的主要作用就是引導用戶的操作,比如讓你先備份,再應用update.zip,再重啟之類的操作。由於custom recovery image和update.zip的耦合性很小,所以不少custom ROM直接都用同一個custom recovery image,這個好像是出自MoDaCo作者之手。再然後,我之前的文章已經有對 recovery image的簡單講解,所以這里,我主要介紹一下update.zip的製作。
如果我們直接把MoDaCo ROM中的update.zip解包,我們會發現有一個boot.img,一個data文件夾,一個system文件夾,一個META-INF文件夾。這個data文件夾放的是init.rc,而本來在系統中,init.rc就是在data目錄下的。當然,兩者的作用不一樣,這里的init.rc主要作用是開機執行你希望執行的命令,比如MoDaCo的init.rc就是install busybox。
而值得詳細說明的,就是system文件夾。MoDaCo ROM版本的system下有一系列作者希望放到系統中的工具,對於apk文件,就放到app下,工具就放到bin和xbin下,依此類推。換句話說,system或者data這個目錄層次結構是取決於你自己的,你希望放的東西屬於什麼,應該運行在online系統的什麼目錄下,update.zip裡面就應該是有相應的目錄路徑,然後東西就放在裡面。
具體點,我們現在要依樣畫葫蘆,搞一個新的update.zip,那麼第一步就是首先建立一個文件夾
mkdir new-update
好,假設我新update.zip的作用就是預裝我自己的一個程序,my.apk,那麼,我建立對應的子目錄
mkdir -p new-update/system/app
cp my.apk
這樣,system目錄就完成了。但是這時,update.zip的目錄層次還沒完,我們看MoDaCo ROM中的update.zip中有文件夾叫META-INF,這個文件夾很關鍵,除了根目錄下的三個文件外,裡面層層目錄,就包括了一個文件,叫 update-script,內容如下
show_progress 0.1 0
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
_dir PACKAGE:data DATA
show_progress 0.2 0
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 100
這裡面的內容,大部分是針對你要做的修改設置的。比如
_dir PACKAGE:system SYSTEM:
就是把system中新增的工具拷貝到手機上,然後
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
就是設置MoDaCo ROM中新增程序的許可權,然後
_dir PACKAGE:data DATA:
把data下的內容(就是那個init.rc)復制到手機上,然後
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
刷boot分區。
那我們這里沒有這么多新增的東西,應該怎麼寫呢?
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 04755 SYSTEM:app/my.apk
就可以了。你當然還可以做一些別的事情,比如加一個FORMAT DATA之類的^_^開個玩笑,千萬別這個干,不然你的數據就全沒了。
好,那麼也就是說,我們要在自己的new-update目錄下也建一個/META-INF/com/google/目錄,然後把新的update-script扔進去。
完了么?差一點。其實如果你沒有別的需求了,那麼就完了,可以把下面這一小塊跳過。下面這一小塊,是關於boot.img的。在如何修改Android系統的Ramdisk以及boot鏡像文章中,我們談到,如果刷boot鏡像有問題,就要用別的方法讓系統boot我們自己的boot image了,這個別的方法,自然就是用update.zip了。MoDaCo ROM版本的update.zip也包括了一個boot.img,但是如果我們有出於各種需求自己修改的boot.img,自然就可以替換掉原來的了。當然注意,如果加了boot.img,那麼update-script裡面就不能漏掉
write_raw_image PACKAGE:boot.img BOOT:
這句。
好,到現在,我們的new-update目錄下有
/system/app/my.apk
/META-INF/com/google/update-script
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
boot.img
恩,那麼就進入打包階段。你可能會問,這有什麼難的,直接zip一下不就得了。如果要是這么簡單就好了,你打包後,必須把你的內容都sign一下,得到相應的cert,才能在fastboot模式中被承認並成功刷機。
在sign你的文件之前,先做這么幾件事
打包。進入update文件夾,zip update.zip xxx xxxx xxxx xxxx xxxx。什麼意思呢,就是只把你需要的文件打包,不要用./*作為參數。而且相對路徑最好是在update下面,不要在外面用zip update.zip ./update/*這種命令打包
去sun網站下載最新的
下載這個文件testsign一定要用JRE1.6.0.16或者更高,我知道這個有點惡心,但是提供下載的testsigh.jar就是按照這個版本或者更高編譯的,你用老版本就運行不了。
好,下下來以後,執行這個命令
~/jre1.6.0_16/bin/java -classpath testsign_path/testsign.jar testsign update.zip update-signed.zip
稍微講解一下,java程序是最新jre下的,testsign_path是你放testsign.jar的地方,建議放到sdk的tool目錄下。update是待sign文件,update-signed是指定的生成文件名。
sign執行完後,用unzip -l看,會發現
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
H. 如何製作刷機包可不可以從手機中導出rom進行修改,編譯為刷機包
你可以藉助第三方工具進行修改,像用蘑菇rom助手
什麼的,都比較簡單,你在網上找找視頻
I. 如何再Ubuntu Android模擬器中運行自己編譯好的ROM
編譯內核和編譯rom一樣的原理
搭建環境
進行make就可以
到藍狐技術社區網站查看回答詳情>>
J. ROM製作工具如何製作手機刷機包
具體步驟如下: