1.移植环境准备 ①安装ubuntu14.04系统; ②安装 jdk apt-get install jdk-1.7 ③安装SDK http://www.cr173.com/soft/78226.html 下载包adt-bundle-linux-x86.zip 然后解压将其中的sdk目录拷到/user/local下 配置环境变量 vim /etc/profile 添加 export PATH=/usr/local/android-sdk-linux_x86/tools:/usr/local/android-sdk-linux_x86/platform-toolsPATH④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,修改相关文件
|