2025-11-20 14:27:36 +08:00

3.0 KiB

本地 AAR 调试配置

此目录用于放置本地编译的 OpenIM SDK AAR 文件,仅在 example 项目调试时使用。

快速开始

步骤 1: 准备 AAR 文件

将你的 AAR 文件重命名为 sdkcore-debug.aar 并放在本目录:

example/libs/
└── sdkcore-debug.aar  (你的本地编译 AAR 文件)

步骤 2: 复制到 Maven 仓库结构

# Linux/Mac/Git Bash
cd example
cp libs/sdkcore-debug.aar android/local-maven/com/openim/sdkcore/1.0.15-local/sdkcore-1.0.15-local.aar

# Windows PowerShell
cd example
Copy-Item libs\sdkcore-debug.aar android\local-maven\com\openim\sdkcore\1.0.15-local\sdkcore-1.0.15-local.aar

注意: POM 文件已自动创建在 android/local-maven/com/openim/sdkcore/1.0.15-local/sdkcore-1.0.15-local.pom

步骤 3: 启用本地 AAR

编辑 example/android/build.gradle,取消以下两处注释:

1. 第 28 行 - 启用本地 Maven 仓库:

maven { url 'file://' + projectDir.absolutePath + '/local-maven' }

2. 第 43-49 行 - 强制使用本地版本:

configurations.all {
    resolutionStrategy {
        force 'com.openim:sdkcore:1.0.15-local'
    }
}

步骤 4: 清理并重新构建

cd example
flutter clean
flutter pub get
flutter build apk  # 或 flutter run

更新 AAR 后快速替换

如果你已经配置过一次,只是更新了 AAR 文件:

cd example
# 复制新的 AAR 文件
cp libs/sdkcore-debug.aar android/local-maven/com/openim/sdkcore/1.0.15-local/sdkcore-1.0.15-local.aar

# 清理并重新构建
flutter clean && flutter pub get && flutter run

调试完成后恢复

重新注释掉 example/android/build.gradle 中的两处配置即可恢复使用远程 Maven 仓库的版本。

目录结构

example/
├── libs/
│   ├── README.md  (本文件)
│   └── sdkcore-debug.aar  (你的 AAR 源文件)
└── android/
    └── local-maven/  (Git 已忽略)
        └── com/openim/sdkcore/1.0.15-local/
            ├── sdkcore-1.0.15-local.aar  (Maven 仓库中的 AAR)
            └── sdkcore-1.0.15-local.pom  (Maven 元数据)

注意事项

  • 此配置只影响 example 项目,不会修改插件本身
  • 切换远程/本地版本只需注释/取消注释即可
  • .gitignore 已配置忽略 android/local-maven/ 目录
  • ⚠️ 每次修改 AAR 文件后需要重新复制到 Maven 目录并运行 flutter clean
  • ⚠️ 确保 AAR 文件名和版本号匹配

故障排查

问题 1: Kotlin 版本不兼容错误

已修复:插件的 android/build.gradle 已添加 Kotlin 插件和正确的配置。

问题 2: "Zip file already contains entry" 错误

运行彻底清理:

cd example
flutter clean
rm -rf build
cd android && ./gradlew clean

问题 3: 找不到 sdkcore 依赖

确保:

  1. android/build.gradle 中的本地 Maven 仓库已取消注释
  2. resolutionStrategy.force 配置已取消注释
  3. AAR 文件已正确复制到 Maven 目录结构中