切换到宽版
—— 新手入门 ——
1.【大神带你玩转智友赚个水钱】 4.【主宰板块 制霸论坛 点这里】
2.【每日各种资源推荐实时更新】 5.【微博微信媒体合作请看这里】
3.【手机犯病?大神在这开门诊】 6.【论坛规则全解答 快速练级】
—— 智友精华 ——
1.【前列腺保养福利 尽在这里】 4.【应用圈子 安卓界新闻联播】
2.【搞机百科 安卓界走进科学】 5.【2017.8】安卓软件游戏精华资源集合
3.【2017.8】智友晒物优秀剁手文章精选 6.【想众测申请快速中签 点我】
查看: 12408|回复: 52

[教程] 开发者教你简单插桩适配MIUI8-ROM包@XTS_Team [复制链接]

主题
17
帖子
97
金币
560 元
智豆
252 点

XTS团队 Flyme适配团队 好学生勋章

发表于 2016-11-11 17:02:51 |显示全部楼层
本帖最后由 乖奕虎 于 2016-11-11 17:11 编辑

一、开发环境

推荐使用Ubuntu14.04及其以上系统
自用镜像:https://pan.baidu.com/s/1b17o0u
需要安装的依赖:curl、git、openjdk-7、android-tools-adb
  1. sudo apt-get install openjdk-7-jdk git curl android-tools-adb
复制代码
(可能还需要安装其他依赖、视插桩时的报错信息而定)

当然miui适配工具还是支持macOS平台、mac用户也可以下载玩耍

二、同步代码

1.下载repo
魔趣的repo不需要挂ss下载,推荐使用!
  1. mkdir -p ~/bin
  2. curl http://download.mokeedev.com/git-repo-downloads/repo > ~/bin/repo
  3. chmod a+x ~/bin/repo
  4. echo "export PATH=~/bin:$PATH" >> ~/.bashrc
复制代码
2.下载适配代码
miui开源地址在这里https://github.com/MiCode

下载miui代码命令:
  1. mkdir patchrom
  2. cd patchrom
  3. repo init -u git://github.com/MiCode/patchrom.git -b marshmallow
复制代码


整个代码同步大概需要一小时左右,请喝杯茶等待
如果发现速度过慢,请自带梯子,传送门:http://www.jianshu.com/p/b085b4832fd0

三、选择合适的底包
由于miui开发的代码是针对android6.0也就是marshmallow、所以你的底包也应该是基于Android 6.0 的推荐开发者在有实际手机的情况下进行适配,一方面,在 Android 6.0 上,有一些必要的文件信息需要从手机上获取;另一方面,很多适配出现的问题,是需要在真机上调试才能解决的。

四、拉取底包vendor

首先新建机型目录
  1. . build/envsetup.sh
  2. mkdir xblade
  3. cd xblade
复制代码

然后将手机重启到rec模式、
  1. adb reboot recovery
复制代码

接下来运行如下命令来拉取vendor
  1. ../tools/releasetools/ota_target_from_phone -r
复制代码
“-r”的意思是在rec模式下拉包

五、拷贝makefile并进行配置

从angler文件夹拷贝makefile、参考它进行相关配置

六、反编译framework

在 makefile 准备完毕后,便可以开始构建新的机型工程。以下命令会自动反编译
  1. make workspace
复制代码

七、首次插桩
在新机型工程生成完毕之后,执行以下命令会完成自动插桩:
  1. make firstpatch
复制代码
此时工具将会自动进行插桩、
由于原厂rom和miui官方逻辑问题、会导致部分patch失败、从而产生冲突、产生的冲突在temp/rej下、

八、解决冲突

有些smali冲突容易解决,甚至可以瞬间解决。一些难以解决的冲突依赖于冲突位置处的上下文,很多时候都是由于 board 和 vendor 在 smali 寄存器变量的使用差异导致的,我们需要从上下文中判断出寄存器变量的语义。这考察开发者着耐心。


没有相关基础的同学、朕赐你一本秘籍:
https://pan.baidu.com/s/1dFHqyvZ

九、打包
运行如下命令即可在out目录下面生成fullota.zip刷机包
  1. make fullota
复制代码

如果你需要重新编译rom、则需要运行
  1. make clean
复制代码
clean完成了再次fullota即可

十、调试

对新手来讲,适配miui是个相对很难的过程,仅仅解决了冲突并不一定能直接开机。
那就需要运用好logcat来抓取错误log、进行相关的分析
  1. adb logcat
复制代码
Github上面有很多优秀开发者的开源miui项目,可以参考他们的开源项目进行冲突的修改以及bug的修复



Xtreme Technology Super Team (XTS团队)



极限科技超级团队



由多位专攻HTC机型ROM作者强强联合成立,主要针对HTC机型进行开发制作优质的ROM作品。



我们会将用户体验当首,打造国内首个专门以HTC为主的ROM开发团队,并培养更优秀的ROM开发人才。


↓↓↓


XTS团队作品





打赏排行榜

  • 楼主共收获打赏:

    100 10
  • XXOS_Developer打赏

    100 10
  • 虚位以待打赏

    0 0
  • 虚位以待打赏

    0 0
查看更多打赏排行榜
已有 1 人评分金币 智豆 收起 理由
XXOS_Developer + 100 + 10 技术达人,奖励奉上

总评分: 金币 + 100  智豆 + 10   查看全部评分

相关帖子

反馈微博:XXOS_Developer

主题
5706
帖子
18476
金币
230644 元
智豆
48637 点

老司机勋章 好学生勋章 ATX破晓勋章 ATX新月勋章 ATX龙腾勋章 ATX导师勋章 ATX打杂勋章 ATX风雅勋章 ATX预备队勋章 安智C团队勋章 FIUI内测勋章 FIUI合作开发组勋章 XTS团队 Flyme适配团队

发表于 2016-11-11 17:07:31 |显示全部楼层
智友众测真牛逼 月月都换新手机
  • 赞成2

  • 反对0

使用道具 举报

学会信任,学会分享,学会担当。

主题
173
帖子
1286
金币
3962 元
智豆
3650 点

XTS团队 给你300万勋章

发表于 2016-11-14 19:42:38 |显示全部楼层
这个必须支持一个!!!
  • 赞成2

  • 反对0

使用道具 举报

主题
1
帖子
304
金币
680 元
智豆
136 点
发表于 2016-11-20 13:13:12 |显示全部楼层
路过看看
  • 赞成1

  • 反对0

使用道具 举报

主题
5
帖子
1225
金币
3445 元
智豆
983 点
发表于 2016-12-6 14:34:20 |显示全部楼层
  • 赞成0

  • 反对0

使用道具 举报

主题
2
帖子
44
金币
123 元
智豆
78 点
发表于 2016-12-15 12:00:11 |显示全部楼层
  • 赞成0

  • 反对0

使用道具 举报

主题
0
帖子
33
金币
118 元
智豆
46 点
发表于 2017-2-15 23:16:49 |显示全部楼层
  • 赞成0

  • 反对0

使用道具 举报

主题
2
帖子
230
金币
527 元
智豆
250 点
发表于 2017-2-25 14:50:52 |显示全部楼层
  • 赞成1

  • 反对0

使用道具 举报

主题
0
帖子
4
金币
28 元
智豆
17 点
发表于 2017-4-20 15:17:53 |显示全部楼层
  • 赞成1

  • 反对0

使用道具 举报

主题
0
帖子
114
金币
164 元
智豆
78 点
发表于 2017-4-25 14:45:27 |显示全部楼层
  • 赞成0

  • 反对0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 用新浪微博连接 QQ登录

关闭

热门活动

智豆兑换2018-12-12更新
智豆兑换2018-12-12更新
全新未拆封魅蓝5s 上线啦!!!

查看 »

回顶部