mirai/docs/contributing/building/BuildingCoreAndroid.md

28 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 构建 mirai-core Android 目标
mirai 项目支持两种方式构建 Android 目标。
若主机在 `local.properties` 中配置了 `sdk.dir` 为 Android SDK 路径(就像普通 Android 项目一样),
并且 mirai 的 Android 目标为启用状态(见 [关闭部分项目以提升速度](../README.md#关闭部分项目以提升速度)),则会使用 Android SDK 方式构建 android 目标,否则使用 JDK 方式。
## Android 源集结构
以 "ADK" 指代 "Android SDK",下表展示 mirai core 项目中与 Android 相关的 Kotlin 源集、其依赖的源集列表、以及可用性。
| sourceSet | dependsOn | 可用性 |
|-------------------------|-------------|-----------|
| androidMain | jvmBaseMain | ADK 和 JDK |
| androidInstrumentedTest | jvmBaseTest | ADK |
| androidUnitTest | jvmBaseTest | ADK 和 JDK |
## Android SDK 构建方式
就像一个普通的 Android 库一样mirai 可使用 Android SDK 编译,并拥有在 JVM 的单元测试和在 Dalvik 上运行的 instrumented tests。
这是最推荐的构建方式,能保证 mirai 在真实 Android 环境通过测试,且能获得针对 Android 的 IDEA 代码检查。
注意,`androidInstrumentedTest` 将会使用 Android 模拟器运行。
## JDK 构建方式
`sdk.dir` 未配置,则不会配置使用 Android SDK而会使用桌面 JDK。`androidInstrumentedTest` 将会被禁用。