 插桩适配前提,安装Ubuntu或者其他linux系统。
安装JDK7
- sudo apt-get install openjdk-7-jdk
复制代码
Ubuntu 16.04与基于它的版本,需要添加源 - sudo add-apt-repository ppa:openjdk-r/ppa??
- sudo apt-get update? ?
- sudo apt-get install openjdk-7-jdk
复制代码
安装git、repo - sudo apt-get install repo git
复制代码
新建bin目录,保存repo 指定repo路径 下载repo - curl https://github.com/FlymeOS/repo > ~/bin/repo
复制代码
设置repo权限 新建源码目录flymeos cd 进入源码目录 通过repo init命令的-b参数, 选择需要下载的分支。 通过repo sync命令同步远程代码: - repo init -u https://github.com/FlymeOS/manifest.git -b lollipop-5.1 --no-repo-verify
- repo sync --no-clone-bundle -c -j4
复制代码
如果连接一直失败或下载代码过慢,则使用以下命令: - repo init --repo-url git://github.com/FlymeOS/repo.git \
- ? ?? ?? ?? ?-u https://github.com/FlymeOS/manifest.git \
- ? ?? ?? ?? ?-b lollipop-5.1 --no-repo-verify
- repo sync --no-clone-bundle -c -j4
复制代码
下载完代码以后, 在开源项目根目录, 执行以下命令初始化开发环境: 创建一个新的机型工程的目录(以demo为例), 后续的移植都在机型目录完成。 - mkdir -p devices/demo
- cd devices/demo
复制代码
按照如下步骤,完成一个新机型的适配: - flyme config? ?? ?# 生成机型配置文件Makefile
- flyme newproject??# 生成新机型目录
- flyme patchall? ? # 自动插桩
- flyme fullota? ???# 生成适配完成的ROM包
复制代码
* 冲突处理 自动插桩可能会造成代码合并冲突。冲突会以下面的形式标注出来, 开发者需要在厂商的文件中手工解决这些冲突。 - <<<<<<< VENDOR
- ??原厂的代码块
- =======
- ??Flyme的代码块
- >>>>>>> BOSP
复制代码
解决原理:对、定、调
* 版本升级
可以跟随官方发布的最新ROM包,将已经是适配完成的机型升级到最新版本:
Flyme适配源码更新命令,轻松完成打包 |