/manifest

Primary LanguagePythonApache License 2.0Apache-2.0

1. 介绍

FlymeOS开源项目致力于为开发者提供业界一流的ROM适配工具。

二零一五年六月三十日,FlymeOS开放适配终于来了,我们相信虽晚未迟。

License

2. 分支命名

开源项目的分支命名与Android版本对应,目前支持Android 6.0的机型适配,分支名为:marshmallow-6.0

目录结构如下所示:

FlymeOS
 +-- manifest           项目清单
 +-- tutorials          教程文档
 +-- plugins            扩展插件,用于扩展已有功能
 +-- build              编译环境,用于构建和编译机型
 +-- tools              适配工具
 +-- flyme              Flyme相关,内容定期更新
      +-- release       官方发布的ROM包
      +-- overlay       资源覆盖
 +-- devices            机型目录
      +-- base          官方提供的默认机型
      +-- your_device   待开发者适配的机型

3. 代码下载

通过repo init命令的-b参数, 选择需要下载的分支。 通过repo sync命令同步远程代码:

$ repo init -u https://github.com/FlymeOS/manifest.git -b marshmallow-6.0
$ repo sync -c -j4

如果连接一直失败或下载代码过慢,则使用以下命令:

$ repo init --repo-url git://github.com/FlymeOS/repo.git \
            -u https://github.com/FlymeOS/manifest.git \
            -b marshmallow-6.0 --no-repo-verify
$ repo sync --no-clone-bundle -c -j4

4. 机型适配

* 标准流程

下载完代码以后, 在开源项目根目录, 执行以下命令初始化开发环境:

$ source build/envsetup.sh

创建一个新的机型工程的目录(以demo为例), 后续的移植都在机型目录完成。

$ mkdir -p devices/demo
$ cd devices/demo

按照如下步骤,完成一个新机型的适配:

$ flyme config      # 生成机型配置文件Makefile
$ flyme newproject  # 生成新机型目录
$ flyme patchall    # 自动插桩
$ flyme fullota     # 生成适配完成的ROM包

* 冲突处理

自动插桩可能会造成代码合并冲突。冲突会以下面的形式标注出来, 开发者需要在厂商的文件中手工解决这些冲突。

<<<<<<< VENDOR
  原厂的代码块
=======
  Flyme的代码块
>>>>>>> BOSP

* 版本升级

可以跟随官方发布的最新ROM包,将已经是适配完成的机型升级到最新版本:

$ flyme cleanall
$ flyme upgrade

5. 贡献代码

我们鼓励开发者为开源社区作出贡献。利用Github的Pull-Request机制,便可将内容变更发送给Flyme官方审阅。

image

  • 首先,在github页面上,点击“Fork”,将Flyme的git库拷贝到自己账户
  • 然后,对拷贝的git库进行修改,将内容变更提交到自己的账户
  • 最后,在github页面上,点击"New pull request",向Flyme官方发起代码审阅

6. 其他

* 问题求助与反馈

* 已适配机型展示与下载