环境准备:工欲善其事,必先利其器

好,咱们正式开始动手。别急着写代码,先把“厨房”搭好。我见过太多项目,环境没配好就开始干,最后光排查编译错误就花掉一整天,特别划不来。

这一章,我会带你把四样东西搞定:开发环境、依赖管理、版本控制、还有项目骨架。搞完这些,你就能安心折腾SDK了。

1. 开发环境搭建

首先明确一个前提:你大概率是 Android 开发。但很多 SDK 同时要对接 iOS 和后端,所以我这以 Android Studio + Gradle 为例,顺便提一嘴 iOS 的注意点。

1.1 确认 JDK 版本

SDK 接入最怕版本打架。我个人习惯是从官网(或者镜像站)下载 JDK 11 LTS,别乱升到 17、19 什么的,除非项目明确要求。

版本兼容警告:某些老旧 SDK 只认 JDK 8,强行用 JDK 11 会报 Unsupported class file major version 错误。我建议项目根目录弄个 java -version 截图,方便以后排查。

1.2 配置 Android SDK

在 Android Studio 的 SDK Manager 里,确认已安装:

  • Android API 34(或者项目 target 的版本)
  • Build Tools(版本号保持用最新的稳定版)
  • NDK(如果 SDK 涉及 C/C++ 库,比如某些直播或扫码SDK)

这里有个坑:很多人直接点“Next”安装了最新版,结果 Gradle 版本太老,编译死活不过。所以最好看一眼 build.gradle 里的 buildToolsVersion,跟 SDK Manager 里实际装的能对上。

1.3 拓展:iOS 环境(看一眼)

如果你要同时搞 iOS 端,只需要:

  • Xcode 版本 ≥ 14
  • CocoaPods 或 Swift Package Manager
  • 记得开 VPN,不然 pod install 能卡到怀疑人生

2. 依赖管理工具

SDK 怎么进到你项目里?两种主流方式:Maven Central / JitPack 和 本地 AAR。

2.1 Maven Central & JitPack

这是最推荐的方式,一行代码搞定。你需要在项目级 build.gradle 里加仓库地址:

// 项目级 build.gradle
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

然后给 module 级的 build.gradle 加上依赖:

dependencies {
    implementation 'com.example:awesome-sdk:1.2.3'
}
我的小技巧:每次加完依赖,先 sync 一下 Gradle,看看有没有红色波浪线。如果有,基本就是版本不对或仓库没生效。别急着盲目改 gradle 文件,先去官方文档确认坐标。

2.2 本地 AAR / Framework

有些 SDK 要求你把 .aar 文件放进 libs 目录。这时候需要这样:

android {
    ...
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.aar'])
}

你可能会想:“用哪个好呢?” 我建议能用远程库就别用本地。为什么呢?

方式 优点 缺点
远程(Maven/JitPack) 自动解析依赖、版本管理、增量更新 需要网络,私有库可能要配认证
本地 AAR 断网可用,隐秘性好,可改源码 无法自动更新,容易产生“本地依赖地狱”

3. 版本控制初始化

这步很多人会跳过,觉得“不就是 git init 一下嘛”。但你想想看,SDK 接入过程中肯定要改代码,万一改崩了,没有版本控制怎么回滚?

3.1 创建 .gitignore

我建议一开始就把 .gitignore 写好,避免把编译产物、IDE 配置、本地密钥传上远程。以下是我常用的模板:

# Android
.gradle/
build/
local.properties
.idea/
*.iml
*.apk
*.aar

# iOS
Pods/
DerivedData/
*.xcworkspace

嗯,这里要注意:.aar 通常不要提交,但如果有第三方依赖且对方不提供远程地址,那就例外了。

3.2 初始提交

执行下面几行,就行成了一个干净的版本基线:

git init
git add .
git commit -m "chore: 初始化项目骨架,配置SDK接入环境"

我个人习惯先拉一个干净的主分支,再切出开发分支,比如 feature/sdk-integration。这样以后出问题,很容易回溯到“还没接入 SDK 的状态”。

3.3 踩过的坑(避坑指南)

曾经有一次,我把 local.properties 提交到了远程仓库。结果团队里另一个人用的是 Mac,sdk.dir 路径跟我不一样,他拉下来直接报错,找了一上午才发现。所以记住:本地配置永远不要进仓库。

4. 项目骨架与知识总览

下面这张图,把这章要准备的东西串起来了。你可以把它当做一个“出门前检查清单”。

环境准备全景图 环境准备全景图 开发环境搭建 依赖管理工具 版本控制初始化 JDK 11 / Android SDK NDK / Build Tools Xcode (iOS) Maven Central / JitPack 本地 AAR / Framework .gitignore 初始提交 + 分支 💡 小贴士 把环境准备当做一个独立的“启动任务”来管理。 不要一边配环境一边改业务代码,容易两头不讨好。

说白了,当你把 JDK、Gradle 仓库地址、git 都跑通之后,后面接入 SDK 就只剩“复制粘贴 + 改配置”了。环境越稳,后面越省心。

一定要记住:不要跳过这一步。我见过太多人觉得“搭环境”浪费时间,结果后面三天都在找奇怪的问题——比如 JDK 版本不对导致 Kotlin 编译崩溃、远程仓库 401 导致依赖拉不下来、或者 .gitignore 漏写了 build 目录导致几百兆的 APK 被提交。回头补环境的时间,只会更多。

小结

到这,你应该已经:

  • 装好了 JDK 11 和 Android SDK 对应版本
  • 理解了远程依赖和本地依赖的区别
  • 初始化了 Git 仓库并写了 .gitignore

下一站,我们就要正式开始跟具体 SDK 打交道了。嗯,放松点,最难的部分已经过去了。