From 8b24b08c3dc8dd04d79bc8a2c621b060bd84057b Mon Sep 17 00:00:00 2001 From: Him188 Date: Sun, 16 Feb 2020 00:19:38 +0800 Subject: [PATCH 1/3] Update README --- README.md | 48 ++++++++++++++++++++++++++++++------------- mirai-japt/README.md | 49 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 82 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 294c80ca6..d0f1b7732 100644 --- a/README.md +++ b/README.md @@ -43,54 +43,76 @@ TIM PC (2.3.2 版本,2019 年 8 月)协议的实现,相较于 core,仅 ## Use as a library **mirai-core 为独立设计, 可以作为库内置于任意 Java(JVM)/Android 项目中使用.** +### Maven +Kotlin 在 Maven 上只支持 JVM 平台. +```xml + + + jcenter + https://jcenter.bintray.com/ + + +``` +```xml + + + net.mamoe + mirai-core-qqandroid-jvm + 0.15.1 + + +``` + ### Gradle -Mirai 只发布在 `jcenter`, 因此请确保在 `build.gradle` 添加 `jcenter()` 仓库: +Mirai 只发布在 `jcenter`, 因此请确保添加 `jcenter()` 仓库: ```kotlin repositories{ jcenter() } ``` -若您需要使用在跨平台项目, 则要对各个目标平台添加不同的依赖,这与 kotlin 相关跨平台库的依赖是类似的。 +若您需要使用在跨平台项目, 则要对各个目标平台添加不同的依赖,这与 kotlin 相关多平台库的依赖是类似的。 **若您只需要使用在单一平台, 则只需要添加一项该平台的依赖. 如只在 JVM 运行则只需要`-jvm`的依赖** -请将 `VERSION` 替换为最新的版本(如 `0.13.0`): +请将 `VERSION` 替换为最新的版本(如 `0.15.0`): [![Download](https://api.bintray.com/packages/him188moe/mirai/mirai-core/images/download.svg)](https://bintray.com/him188moe/mirai/mirai-core/) **Mirai 目前还处于实验性阶段, 我们无法保证任何稳定性, API 也可能会随时修改.** **注意:** Mirai 核心由 API 模块(`mirai-core`)和协议模块组成。 只添加 API 模块将无法正常工作。 -现在只推荐使用 TIMPC 协议,请参照下文选择对应目标平台的依赖添加。 +现在只推荐使用 QQAndroid 协议,请参照下文选择对应目标平台的依赖添加。 -**common** +**common** (通用平台) ```kotlin implementation("net.mamoe:mirai-core-qqandroid-common:VERSION") ``` -**jvm** +**jvm** (JVM 平台) ```kotlin implementation("net.mamoe:mirai-core-qqandroid-jvm:VERSION") ``` -**android** +**android** (Android 平台) ```kotlin implementation("net.mamoe:mirai-core-qqandroid-android:VERSION") ``` + +## Java Compatibility +**若你希望使用 Java 开发**, 请查看: [mirai-japt](mirai-japt/README.md) + ### Performance Android 上, Mirai 运行需使用 80M 内存. -JVM 上需 120M-150M 内存 +JVM 上启动需 80M 内存, 每多一个机器人实例需要 30M 内存. ## Contribution -我们 (Mamoe Technologies) 将会一直维护这个项目,除非遇到不可抗力因素。 - 我们欢迎一切形式的贡献。 我们也期待有更多人能加入 Mirai 的开发。 若在使用过程中有任何疑问, 可提交 issue 或是邮件联系(support@mamoe.net). 我们希望 Mirai 变得更易用. -您的 star 是对我们最大的鼓励(点击项目右上角); +您的 star 是对我们最大的鼓励(点击项目右上角) ## Wiki -在 [Wiki](https://github.com/mamoe/mirai/wiki/Development-Guide---Kotlin) 中查看各类帮助,**如 API 示例**(可能过时,待 QQ Android 协议完成后会重写)。 +在 [Wiki](https://github.com/mamoe/mirai/wiki/Home) 中查看各类帮助,**如 API 示例**(可能过时,待 QQ Android 协议完成后会重写)。 ## Try @@ -110,8 +132,6 @@ bot.subscribeAlways { } ``` -我们也考虑到了 Java 兼容的问题,这正在计划中,但不是高优先的。 - 1. Clone 2. Import as Gradle project 3. 运行 Demo 程序: [mirai-demo](#mirai-demo) 示例和演示程序 diff --git a/mirai-japt/README.md b/mirai-japt/README.md index 1b80cef52..73586ab92 100644 --- a/mirai-japt/README.md +++ b/mirai-japt/README.md @@ -5,10 +5,57 @@ Mirai Java Apt 提供阻塞API 来让 Java 调用 Mirai 的 API 更容易 -## Requirements +## 编译需求 - JDK 1.8+ +## 配置依赖 + +使用 `Gradle` 或 `Maven`. + +请将 `CORE_VERSION` 替换为最新的版本(如 `0.15.0`): +[![Download](https://api.bintray.com/packages/him188moe/mirai/mirai-core/images/download.svg)](https://bintray.com/him188moe/mirai/mirai-core/) + +请将 `JAPT_VERSION` 替换为最新的版本(如 `1.0.0`): +[![Download](https://api.bintray.com/packages/him188moe/mirai/mirai-japt/images/download.svg)](https://bintray.com/him188moe/mirai/mirai-japt/) + +### Maven +```xml + + + jcenter + https://jcenter.bintray.com/ + + +``` +```xml + + + net.mamoe + mirai-core-qqandroid-jvm + CORE_VERSION + + + + net.mamoe + mirai-japt + JAPT_VERSION + + +``` + +### Gradle +```kotlin +repositories { + jcenter() +} + +dependencies { + implementation("net.mamoe:mirai-core-qqandroid-jvm:CORE_VERSION") + implementation("net.mamoe:mirai-japt:JAPT_VERSION") +} +``` + ## 开始 ```java From 606879cba19a81cdddfc870f96ac89c74467acf0 Mon Sep 17 00:00:00 2001 From: Him188 Date: Sun, 16 Feb 2020 00:19:53 +0800 Subject: [PATCH 2/3] Test ECDH keyPair before success --- .../src/jvmMain/kotlin/net/mamoe/mirai/utils/cryptor/ECDHJvm.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/cryptor/ECDHJvm.kt b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/cryptor/ECDHJvm.kt index 1fd3da5a3..eb1e51a17 100644 --- a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/cryptor/ECDHJvm.kt +++ b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/cryptor/ECDHJvm.kt @@ -46,6 +46,7 @@ actual class ECDH actual constructor(actual val keyPair: ECDHKeyPair) { init { if (kotlin.runCatching { Security.addProvider(BouncyCastleProvider()) + generateKeyPair() // try if it is working }.exceptionOrNull() == null) { isECDHAvailable = true } From a402e3a5da8edb7660656693c884c0e173193e1b Mon Sep 17 00:00:00 2001 From: Him188 Date: Sun, 16 Feb 2020 00:31:37 +0800 Subject: [PATCH 3/3] Update README.md --- mirai-core-qqandroid/README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mirai-core-qqandroid/README.md b/mirai-core-qqandroid/README.md index 1a0d9b87a..de5653bb7 100644 --- a/mirai-core-qqandroid/README.md +++ b/mirai-core-qqandroid/README.md @@ -1,8 +1,3 @@ # mirai-core-qqandroid Protocol support for QQ for Android for Mirai. - -Not yet available to work. - -## Protocol Structure -See [README.md](src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/README.md) \ No newline at end of file