# 本地 AAR 调试配置 此目录用于放置本地编译的 OpenIM SDK AAR 文件,仅在 example 项目调试时使用。 ## 快速开始 ### 步骤 1: 准备 AAR 文件 将你的 AAR 文件重命名为 `sdkcore-debug.aar` 并放在本目录: ``` example/libs/ └── sdkcore-debug.aar (你的本地编译 AAR 文件) ``` ### 步骤 2: 复制到 Maven 仓库结构 ```bash # 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 仓库:** ```gradle maven { url 'file://' + projectDir.absolutePath + '/local-maven' } ``` **2. 第 43-49 行 - 强制使用本地版本:** ```gradle configurations.all { resolutionStrategy { force 'com.openim:sdkcore:1.0.15-local' } } ``` ### 步骤 4: 清理并重新构建 ```bash cd example flutter clean flutter pub get flutter build apk # 或 flutter run ``` ## 更新 AAR 后快速替换 如果你已经配置过一次,只是更新了 AAR 文件: ```bash 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" 错误 运行彻底清理: ```bash cd example flutter clean rm -rf build cd android && ./gradlew clean ``` ### 问题 3: 找不到 sdkcore 依赖 确保: 1. `android/build.gradle` 中的本地 Maven 仓库已取消注释 2. `resolutionStrategy.force` 配置已取消注释 3. AAR 文件已正确复制到 Maven 目录结构中