最近开始着手这个移植,基于CM10.1_wave_v2.0,瞎折腾一下。
先研究了一下MIUI的移植原理,又看了下LeWa的Git Code,恍然大悟,不知道patchrom的方法是不是国人发明的,太有才了。
按照GitHub上MiCode/patchrom的READEME来做:
1.下载Android SDK
从google Android Developers 网站下载SDK文件,http://developer.android.com/sdk/index.html,加入PATH。
2.repo配置与下载
按照Google AOSP讲述步骤,下载repo到主文件夹bin目录并加入PATH。
3.MIUI patchrom 源代码下载
创建patchrom文件夹,终端输入:
mkdir ~/patchrom
cd ~/patchrom
repo init,终端输入:
repo init -u git://github.com/MiCode/patchrom.git -b jellybean42
为了方便进行源码的同步操作,我在patchrom目录下添加了repo断开自动重连的脚本文件,命名为repo.sh,在其内填入
#!/bin/sh
repo sync
while [ $? -ne 0 ]
do
repo sync
done
保存,右键>属性>权限>允许作为程序执行文件,OK
然后就可以进行源代码的下载同步了,终端执行:
cd ~/patchrom
./repo.sh
MIUI patchrom 的源代码大约4G,耐心等待下载完成。
4. 创建工程wave
终端执行:
cd ~/patchrom
. build/envsetup.sh
mkdir wave
cd wave
将wave手机打开USB调试模式,进入Recovery,连接电脑,终端执行:
../tools/releasetools/ota_target_from_phone -r
该操作将手机内的应用与配置拷贝出来,并打包为stockrom.zip文件
从MiCode的patchrom_i9100项目拷贝makefile文件, 略做修改:
行 9: local-out-zip-file := MIUI_wave.zip
行12: local-previous-target-dir := ~/patchrom/workspace/ota_base/wave_4.2
行15: local-modified-apps := Camera
在wave文件夹内创建 phoneapps.mk,内容如下:
local-phone-apps = $(private-phone-apps)
private-phone-apps := ApplicationsProvider\
BackupRestoreConfirmation\
BasicDreams\
Bluetooth\
CellBroadcastReceiver\
CertInstaller\
DefaultContainerService\
DrmProvider\
DSPManager\
HTMLViewer\
KeyChain\
LatinIME\
LiveWallpapers\
LiveWallpapersPicker\
MediaProvider\
PicoTts\
Stk\
Term\
Torch\
UserDictionaryProvider\
VideoEditor\
VoiceDialer\
VpnDialogs\
WAPPushManager\
WaveParts
private-phone-apps2 := CertInstaller \
DrmProvider \
PackageInstaller \
Bluetooth
创建工作空间,终端输入:
make workspace
制作第一次patch,终端输入:
makefirstpatch
未完待续……