-
Notifications
You must be signed in to change notification settings - Fork 20
Home
欢迎来到 Miku UI wiki!
Miku UI 是一个基于 AOSP 的系统,专注于性能优化与和 Miku 有关的 UI 美化~
因此,我们的项目中可能会含有大量 Miku (ミク) 元素、、
唔...!?
您也喜欢 Miku 吗!
那快通过 wiki 了解一下我们罢!
- 什么是 AOSP&CAF
- 如何获取构建 Miku UI 的材料
- 构建类型相关
- 如何启用 Gapps 构建
- 如何启用 KernelSU 构建
- 如何为设备启用 Miku UI Boost Framework
- 如何添加您的编译者信息
- 规范提交
- 如何为 Miku UI 做贡献
唔、、我们的系统是基于 AOSP 的哟
什么是 AOSP&CAF 捏!
AOSP 是 Google 公司的 Android 开源项目,我们可从中获取构建安卓系统所需的代码。
CAF 的全称是 Code Aurora Forum
,它是高通公司(Qualcomm™)为适配自身芯片所从 AOSP 修改的项目开源社区。
也就是说,我们的系统在搭载高通芯片的设备上能够得到更好的性能提升哟~
我们知道,构建安卓系统离不开一大堆文件
而 Device Configuration
是比较重要的、、
对于 Kernel Source
,请尽量使用基于 CAF Tag 的内核哦!
一般而言,Vendor Blob
都可以在 GitHub 上查找或者手动提取~
如果您的设备已经有安卓 12 的 Device Configuration
那么首先恭喜您,也许您很快就能用上 Miku UI 力~
如果您不懒,并且真的很想使用 Miku UI 但却又找不到人帮你您适配
这说明您也没人要QAQ您可以尝试自己动手适配
ify
是指对已有设备树进行修改,以适配新系统的行为。
[project-name]
所指的是 ify 之前的项目名称,例如:“aosp”。
[codename]
所指的是设备代号。
-
和 +
显示的是它们的变化。
通常,ify 步骤仅需要短短几步:
- 修改
AndroidProducts.mk
...
- PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/[project-name]_[codename].mk
+ PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/miku_[codename].mk
- COMMON_LUNCH_CHOICES := \
[project-name]_[codename]-user \
[project-name]_[codename]-userdebug \
[project-name]_[codename]-eng
+ COMMON_LUNCH_CHOICES := \
miku_[codename]-user \
miku_[codename]-userdebug \
miku_[codename]-eng
- 修改
[project-name]_[codename].mk
...
- # Inherit some common [project-name] stuff.
+ # Inherit some common miku stuff.
- $(call inherit-product, vendor/[project-name]/build/product/*.mk)
+ $(call inherit-product, vendor/miku/build/product/miku_product.mk)
...
# Device identifier. This must come after all inclusions.
- PRODUCT_NAME := [project-name]_[codename]
+ PRODUCT_NAME := miku_[codename]
...
但是事情也许往往没有那么简单
其他系统的 Device Configuration 可能会与 Miku UI 存在部分差异
您可能还需要修改 device.mk
请优先留意您抓取的日志,它们很重要,能够最直观地体现出您的问题。
现支持的构建类型有:
-
UNOFFICIAL(非官方版)
-
COMMUNITY(社区版)
-
OFFICIAL(官方版)
UNOFFICIAL 是默认的构建类型。
我们强烈建议您不要公开发布非官方版本的 ROM。
若您想要为申请 COMMUNITY 维护做准备,可以适当发布一些 UNOFFICIAL 版本来通过用户体验评估您的工作。
COMMUNITY 通过申请后可进行构建,并将被上传至官方下载站。
OFFICIAL 是官方构建类型,由官方服务器进行编译。
若要申请相关维护或是问询相关事宜,请在我们的设备仓库发起 Issue。
请注意:请不要在我们不知情的情况下发布 COMMUNITY 和 OFFICIAL 构建类型的 ROM。若要发布,请先向我们申请。
您必须满足以下要求:
- ❤热爱 Miku 的一颗心!❤
- 保持让 Miku UI 在您的设备上良好运行的信心
- 在 GitHub 上公开您规范提交的设备配置仓库
- Ify-only 的 device 是绝对禁止的
请确保您的设备配置仓库没有出现不规范提交、不清不楚的提交以及 Kang 提交行为。
自您维护 UNOFFICIAL 构建类型的 ROM 一周起,若系统稳定运行且功能正常
您就可以考虑申请社区版维护啦~
我们对社区版的 SELinux 状态不做强制要求,也允许有一点无关紧要的 Bug 存在。
请注意: 社区版 ROM 由维护者自行构建并维护。
您必须满足以下要求:
- 有长期维护您的设备的意愿
- 已向我们申请社区版维护并通过
- 设备 SELinux 状态为 Enforcing(强制执行)
- 系统不能出现影响使用的 Bug
- 使用自己维护的 Kernel Source
- 多手 device 是绝对不可以的,如果是二手 device 的话,则最少保证你对此 device 的贡献大于原作者(基于 common 发展而来的独立 device 除外)
而以下要求也建议尽量满足:
- 不要写出 Neverallow 的规则,即不要使用 SELINUX_IGNORE_NEVERALLOWS 标签
- 不要使用预编译内核,您对内核做的任何改动都应该对所有人透明可见
- 使用自己维护的 Vendor Blobs
请注意: 官方版维护仍需维护者进行更新改进设备树。(至少确保每月排查)
如果在您官方维护过程中出现不规范提交、Kang 提交行为,一经我们发现,您将会被降至社区版维护。
如果您要临时启用 Gapps 构建,请在终端执行:
export MIKU_GAPPS=true
或者您可以在 miku 设备的 Makefile 配置文件中定义:
MIKU_GAPPS := true
Miku UI 支持在构建期间为内核添加 KernelSU 支持! 如果您要临时启用 KernelSU 构建,请在终端执行:
export TARGET_WITH_KERNEL_SU=true
或者您可以在 miku 设备的 Makefile 配置文件中定义:
TARGET_WITH_KERNEL_SU := true
Miku UI 能够在受支持的高通设备上,启用来自 CAF/CLO ROM 的 Boost Framework 优化,能够大幅提升系统运行速度与响应速度哦!
您需要改动您的 device 来启用这项特性,如补齐 Perf Blobs 与配置文件、不要使用 Pixel Power HAL、构建对应的 Power 与 Perf packages、开启 Miku UI Boost Framework overlay 等,详情可以参考以下提交
我们不再支持使用上面的方法来启用 Miku UI Boost Framework,如需在不受支持的设备上启用,请参考这个提交在device/qcom/perf内添加支持哦!
如果您是 LAHAINA 设备(sm8350/sm7325/sm7350)、sm6150或sdm660设备,那么恭喜您,Miku UI 为这些设备提供了一键式的启用方案,您只需要在您的 device.mk 中定义:
TARGET_MIKU_BOOST_FRAMEWORK_PLATFORM := 平台名称
#如TARGET_MIKU_BOOST_FRAMEWORK_PLATFORM := lahaina
即可为您的设备启用 Miku UI Boost Framework !对于其它平台设备的支持,也欢迎各位提交 PR 哦!
- 注:Miku UI Boost Framework 在 TDA_v0.16.1 与 Udon_v0.1.0 以上的系统版本开始支持,且仅支持高通设备。
在设备 Makefile 配置文件中定义:
MIKU_MASTER := YOURNAME #默认编译者为 BuildBot
如果您想实现点击您的信息跳转到您自定义的 URL 而不是官方仓库、、
请在您定义 Overlay 的 Makefile 配置文件中添加一条:
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay-miku
并在根目录的 overlay-miku/packages/apps/Settings/res/values/miku_strings.xml
中添加:
<resources>
<string name="miku_maintainer_uri" translatable="false">您的自定义 URL</string>
</resources>
规范提交是一种好习惯,它不仅仅能够帮助阅读者更好理解您的代码
也能够让您的修改行为有迹可寻。
如果您想参与 Miku UI 的构建并在 GitHub 上开设了仓库
请务必规范提交!
规范提交的要点有以下几点:
- 总结
总结(Summary)必须明确指出您这条 Commit 做了什么,或是点明改动内容的主题。
- 解释
解释(Description)应围绕 Commit 的内容进行扼要展开。
- 用语
请使用英语(English)提交 Commit
您可以根据自己的喜好来拟写,但是请确保不要有低级的拼写错误和语法问题。
- 代码贡献者信息
如果提交并不是您独自所作的,请务必携带上作者或者协作者的贡献信息!
USERNAME 代表作者或协作者的 GitHub 用户名。
[email protected] 代表作者或协作者的 GitHub 提交邮箱。
您可以通过以下命令添加 Commit 作者:
git commit --author="USERNAME <[email protected]>"
您可以在 Commit 的末尾添加以下信息来说明这条 Commit 由其他人共同协作:
Co-authored-by: USERNAME <[email protected]>
我们推荐您使用 USERNAME <[email protected]>
来代替作者或者协作者的署名及邮箱
这样不仅有助于保护协作者的隐私,而且能够方便添加作者或协作者的贡献信息。
参考资料:
如果您有什么比较好的想法的话、、
欢迎直接提交您的 PR 到我们的相关仓库就好啦
感谢您对 Miku UI 的支持~