1.移植環境準備php
①安裝ubuntu14.04系統;html
②安裝 jdklinux
apt-get install jdk-1.7android
③安裝SDKgit
http://www.cr173.com/soft/78226.htmlgithub
下載包adt-bundle-linux-x86.zipweb
而後解壓將其中的sdk目錄拷到/user/local下ubuntu
配置環境變量vim
vim /etc/profilecurl
添加export PATH=/usr/local/android-sdk-linux_x86/tools:/usr/local/android-sdk-linux_x86/platform-tools:$PATH
④repo下載
curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo > ~/bin //獲取repo
chmod a+x repo //修改權限
PATH= ~/bin:$PATH //配置環境變量
⑤獲取源碼
mkdir patchrom
cd patchrom
repo init -u https://github.com/MiCode/patchrom_p1 -b kitkat
repo sync
2.手機環境準備
①手機root
②找到適合手機原廠rom
③刷入第三方recovery
3.miui移植
①提取手機rom
進入手機recovery模式
在patchrom目錄下執行
. build/envsetup.sh
mkdir <phone_name>
cd <phone_name>
../tools/releasetools/ota_target_from_phone -r
提取完成後將<phone_name>目錄下的stockrom.zip刷入手機進行驗證,保證能正常運行。
②而後執行
make workspace
make firstpatch
③手動代碼插樁
temp目錄中
dst_smali_orig目錄爲android.policy.jar framework.jar framework2.jar services.jar telephone-common.jar 反編譯後去除行號的目錄
dst_smali_patched爲打過patch的目錄也是須要手動修改未patch成功的目錄
new_smali是miui目錄
old_smali是android原生目錄
reject是未打上patch的文件記錄
將reject內標記的文件修改完後進行回編驗證
用dst_smali_patched中的文件目錄去覆蓋<phone_name>目錄下的對應目錄
④最後執行make fullota在out目錄下生成fullota.zip,刷入驗證是否能正常運行。
⑤問題解決,抓取log進行修改相關文件,解決問題
adb logcat > a.log
查看a.log,修改相關文件