第三章:开发环境准备——工欲善其事,必先利其器

SDK 接入改造,说白了就是把别人的代码塞进你自己的项目里。环境配不对,后面全白费。我见过太多人花了两天配环境,最后发现模拟器跑不起来,真机连不上,依赖冲突到想摔键盘。嗯,咱们这节课就把这些坑一个一个填上。

3.1 集成开发工具配置

不同平台的 SDK 接入,IDE 选择其实没太多悬念。

  • Android:Android Studio 是唯一官方推荐。版本别太老,至少 Arctic Fox 以上。
  • iOS:Xcode,没得选。记得保持最新两个大版本以内。
  • 跨平台:VSCode + 对应插件(Flutter、React Native 等)。

我个人习惯在项目根目录放一个 .editorconfig,统一缩进和编码。不要小看这个,团队协作时能省不少口水。

经验之谈:我曾经因为 Android Studio 里 JDK 路径配错,编译了一个下午都报“找不到符号”。后来发现是自动检测的 JDK 版本是 17,而项目用的 Gradle 插件只支持 11。所以,手动指定 JDK 路径比自动检测靠谱。

3.2 模拟器 / 真机环境搭建

模拟器快,真机准。两者都得有。

Android 模拟器

  1. 在 Android Studio 里打开 AVD Manager。
  2. 选一个系统镜像。我推荐 API 29-31 的 x86_64 镜像,带 Google Play 的。
  3. 如果开发机是 AMD CPU,记得装 Windows Hyper-V 或 Android Emulator Hypervisor Driver for AMD Processors。这一点经常被忽略。

iOS 模拟器

  1. Xcode → Preferences → Platforms,下载目标 iOS 版本。
  2. 模拟器里跑真机,大部分情况没问题,但注意:模拟器没有陀螺仪、相机、蓝牙。我遇到过做 AR SDK 接入的同学,在模拟器里调试了三天,结果一上真机直接崩溃——因为访问了不存在的硬件。

真机调试

平台关键步骤常见坑
Android开启开发者选项 + USB 调试数据线质量差导致频繁断开
iOS添加 Apple ID、信任证书每年免费证书只有 7 天有效期
避坑指南:Android 真机如果用了第三方 ROM(比如小米开发版),有些 SDK 厂商的签名校验会不过。我曾经因为测试机刷了 MIUI 内测版,结果某支付 SDK 死活调不通。后来换了官方稳定版 ROM 就正常了。所以,测试机尽量用官方 ROM,别折腾。

3.3 依赖管理——CocoaPods / Gradle / npm

依赖管理,本质就是把你需要的库自动下载、编译、链接。每个平台都有自己的一套。

CocoaPods(iOS)

用 Podfile 声明依赖。我写 Podfile 的习惯是:
use_frameworks! 要注释掉,如果某些静态库不支持动态 framework。
还有一个细节:source 'https://cdn.cocoapods.org/' 加上,否则国内网络有时拉不下来。

# Podfile 示例
platform :ios, '11.0'
source 'https://cdn.cocoapods.org/'

target 'YourApp' do
  pod 'AFNetworking', '~> 4.0'
  pod 'SDWebImage', '~> 5.0'
end

Gradle(Android)

多模块项目用 implementation 代替 compile。如果你从老项目迁移,记得把 compile 全部替换掉,不然编译警告看着心烦。
另外,我强烈建议在 gradle.properties 里加上 android.useAndroidX=true,避免 support 库和 AndroidX 混用。

// build.gradle (app 模块)
dependencies {
    implementation 'com.squareup.okhttp3:okhttp:4.9.1'
    implementation 'com.google.code.gson:gson:2.8.8'
}

注意:版本号不要写 +,那样每次编译都去检查最新版,一来慢,二来容易引入兼容性问题。我就掉过这个坑——一个 + 号让 CI 构建时间从 3 分钟变成 15 分钟。

npm(跨平台 / H5)

package.json 里的版本号用波浪号 ~ 还是脱字符 ^?我推荐 ^,自动 patch 升级,但不会跳大版本。
有一个场景要注意:如果你的 SDK 依赖于某个原生模块(比如 react-native-device-info),那么 npm install 之后还要跑 cd ios && pod install。很多人忘记第二步,结果编译报找不到头文件。

3.4 环境验证清单

配完了别急着写代码,先跑通一个“Hello World”级别的 demo,确认 SDK 调用能通过编译。

检查项通过标准
IDE 能识别 SDK 头文件/类自动补全正常,无红色波浪线
模拟器编译 + 运行应用启动正常,无闪退
真机编译 + 运行签名正确,能安装到设备
依赖版本锁定git 提交时 lock 文件(Podfile.lock / package-lock.json)已生成
SDK接入开发环境准备流程 开始配置 IDE 配置(AS / Xcode / VSCode) 模拟器环境(AVD / Simulator) 真机环境(USB / 证书 / 签名) 依赖管理(CocoaPods / Gradle / npm) 编译验证通过
最后说一句:环境配置不要试图一步到位。我每次接入新 SDK,都会先在一个干净的 demo 项目里试通,确认所有依赖版本能共存,然后再往主项目里合并。这样即使出问题,也知道锅在哪。