安装

让 Kotlin Android 模板在模拟器或设备上完成构建并运行。

本指南会带你从全新 clone 走到在 Android Studio 或 Gradle 命令行中运行应用。

应用设计为 没有任何服务 key 也能构建和启动。等本地跑起来以后,再逐步添加 Supabase、RevenueCat、FCM、PostHog、Sentry、Play 发布签名和 App Links 配置。

前置要求

  • Android Studio Meerkat 或更新版本。 模板使用 AGP 9.2.1、 Kotlin 2.3.0、KSP 2.3.9 和 Gradle wrapper 9.4.1
  • JDK 17+。 除非你已经固定了本地工具链,否则直接使用 Android Studio 自带的 JDK。
  • API 26+ 模拟器或 Android 设备。 推荐使用带 Play services 的模拟器镜像, 因为 FCM、Play In-App Updates、Play In-App Review 和购买测试依赖 Google Play services。
  • Google Play 开发者账号 只在测试真实 Play Billing 或准备 Play 发布时需要。

设置

克隆模板

git clone <repo-url>
cd soar-kotlin

在 Android Studio 中打开

打开仓库根目录,而不是只打开 app/ 文件夹。等待 Gradle 同步完成,以便 Android Studio 解析 Compose、Hilt、Supabase、Firebase、RevenueCat、PostHog、Sentry 和 Play Core 依赖。

可选:填写 local.properties

Android Studio 通常会自动创建 sdk.dir。第一次运行时,服务 key 都是可选的:

sdk.dir=/path/to/Android/sdk

SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_PUBLISHABLE_KEY=your_publishable_key
GOOGLE_WEB_CLIENT_ID=your_google_oauth_web_client_id
REVENUECAT_ANDROID_KEY=your_public_revenuecat_android_key

缺失的字符串 key 会被读取为空 BuildConfig 值。完整 key 参考见 配置

运行应用

选择 app 运行配置和一个模拟器或设备,然后点击 Run。即使没有后端 key, 应用也能进入 onboarding / consent / login 流程,本地 Component 图库可以离线渲染。

命令行等价命令

模板的 Gradle 命令如下:

# Debug 构建
./gradlew assembleDebug

# 安装到已连接的模拟器或设备
./gradlew installDebug

# 单元测试
./gradlew testDebugUnitTest

# 仪器测试;需要连接模拟器或设备
./gradlew connectedDebugAndroidTest

# debug 变体的 Android lint
./gradlew lintDebug

# Release App Bundle;签名 key 从 local.properties 读取
./gradlew bundleRelease

从命令行启动已安装的 debug 构建:

adb shell am start -n com.soarstarter.kotlin/.MainActivity

验证安装

在没有配置服务 key 的情况下,先确认应用能走过本地启动界面:

  • 应用可以安装并启动,不崩溃。
  • Onboarding 出现并可以完成。
  • 法律同意门禁出现并可以接受。
  • 登录界面正常渲染。GOOGLE_WEB_CLIENT_ID 设置前,Google 按钮会隐藏。
  • Component 标签页可离线使用,因为它渲染的是本地 Compose demo。

Auth、todos、profile、uploads、subscriptions 和 push 都需要后端设置。应用本地启动后, 继续阅读 Supabase 设置

常见首次运行问题

现象可能原因修复
Gradle sync 找不到 AGP 或 Kotlin 插件Android Studio 过旧或 Gradle 缓存陈旧更新 Android Studio,并从项目根目录重新同步
JAVA_HOME / toolchain 报错JDK 低于 17 或 Android Studio 使用了错误 JDK将 Gradle 指向 Android Studio 自带的 JDK 17+
缺少 sdk.dirlocal.properties 尚未创建用 Android Studio 打开一次项目,或添加 sdk.dir=/path/to/Android/sdk
FCM、更新、评价或 Billing 在模拟器上不可用模拟器镜像缺少 Play services,或应用不是通过 Play 安装使用带 Play services 的镜像;真实购买和更新流程需要 Play 分发
Google 登录按钮不存在GOOGLE_WEB_CLIENT_ID 为空local.properties 添加 OAuth web client ID,并在 Supabase 配置 Google provider
KSP / Kotlin 依赖不匹配版本被独立修改保持模板版本一起升级:Kotlin 2.3.0、KSP 2.3.9supabase-kt 3.2.6、Ktor 3.3.1

相关页面

On this page