本文档面向需要修改 ControllerSDK 源码或自行编译 AAR 的开发者。
- Android Studio 最新稳定版
- JDK 17+
- Android SDK API 33+
- Gradle 8.x
在 Android Studio 中选择 "Open",打开项目根目录的 build.gradle 文件所在目录,等待 Gradle Sync 完成。
| 模块 | 类型 | 说明 |
|---|---|---|
ControllerSDK |
Android Library | 手柄控制 SDK,依赖外部 rcsdk-v1.9.1.aar |
ControllerSDK 依赖云卓厂家的 rcsdk.aar(≥v1.8.1)。该文件不随本项目发布,需要开发者手动下载并放置。请按以下步骤操作:
下载步骤:
- 访问云卓 RCSDK 示例项目:https://gitee.com/skydroid/rcsdk-demo
- 克隆或下载该示例项目代码
- 在示例项目目录中找到
libs/rcsdk-v1.9.1.aar文件 - 将该文件复制到
ControllerSDK/libs
./gradlew :ControllerSDK:buildSdkAar产物:ControllerSDK/build/outputs/sdk/ControllerSDK-1.0.0.aar
在你的新项目中调用
ControllerSDK的封装库时需要将以下文件放到/app/libs目录下,并在build.gradle中引入相关依赖:
ControllerSDK-1.0.0.aar(主体)rcsdk-v1.9.1.aar(云卓手柄 SDK,不随本项目发布)
在 build.gradle 中:
dependencies {
// fileTree 会自动引入 libs/ 下的 ControllerSDK-1.0.0.aar 和 rcsdk-v1.9.1.aar
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
// ControllerSDK 的外部依赖(AAR 不含以下依赖,需显式声明)
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.7'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1'
}依赖说明:ControllerSDK AAR 本身不包含
rcsdk-v1.9.1.aar,两者必须同时放入libs/目录。kotlin-stdlib、lifecycle、coroutines为 ControllerSDK 的运行时外部依赖,需由集成方显式声明。
将 ControllerSDK 模块作为本地 Module 引入你的项目。
在其他项目的 settings.gradle 中:
include ':ControllerSDK'
project(':ControllerSDK').projectDir = new File('/path/to/M20_AndroidSDK/ControllerSDK')在根项目的 build.gradle(或 allprojects 块)中配置 flatDir,使 Gradle 能解析 ControllerSDK/libs/ 下的 rcsdk-v1.9.1.aar:
allprojects {
repositories {
google()
mavenCentral()
// 必须配置 flatDir,否则无法解析 rcsdk-v1.9.1.aar
flatDir { dirs "${rootDir}/ControllerSDK/libs" }
}
}在 App 模块的 build.gradle 中:
dependencies {
implementation project(':ControllerSDK')
// ControllerSDK 的外部依赖(需显式声明)
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.7'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1'
}注意:以 Module 方式依赖时,
rcsdk-v1.9.1.aar的解析通过flatDir仓库完成(由ControllerSDK/build.gradle中的implementation(name: 'rcsdk-v1.9.1', ext: 'aar')引用)。因此必须在根项目的repositories中配置对应的flatDir路径,否则编译时会报Could not find :rcsdk-v1.9.1:。
各模块依赖关系速查:
| 模块 | 类型 | 直接依赖 | 外部依赖 |
|---|---|---|---|
ControllerSDK |
Android Library | rcsdk-v1.9.1.aar(本地) |
kotlin-stdlib、lifecycle-livedata-ktx、lifecycle-runtime-ktx、kotlinx-coroutines-core、kotlinx-coroutines-android |
修改 ControllerSDK/build.gradle 中的版本号:
def sdkVersion = '1.0.0'发布时统一替换版本号并打 Tag。
A: 请确认已从云卓官方示例项目获取 rcsdk-v1.9.1.aar,并放置于 ControllerSDK/libs/ 目录。
./gradlew clean