2、环境搭建:Android Studio项目配置、Google Play服务依赖、模拟器与真机调试准备

好,咱们正式开始动手。环境搭建这一步,说白了就是给后面的所有代码铺路。路铺不好,车就跑不起来。我见过太多新手卡在这一步,不是依赖冲突就是模拟器起不来,然后就开始怀疑人生。别急,跟着我来,一步步捋清楚。

2.1 创建项目与基础配置

打开 Android Studio,点「New Project」。选一个空模板就行,别选那些带导航栏或者底部栏的模板,后面我们自己加。我个人习惯用 Empty Views Activity,干净利落。

项目名我建议叫 LocationDemo,包名用 com.example.locationdemo。语言选 Kotlin,别选 Java 了,现在新项目基本都用 Kotlin。Minimum SDK 选 API 21 以上,因为 Location API 在低版本上表现不太好,而且 Google Play 服务对低版本的支持也在逐步收紧。

重要: 项目创建完成后,先检查一下 build.gradle.kts(项目级)里的 Kotlin 版本和 AGP 版本是否匹配。我遇到过好几次因为版本不对导致编译失败的情况,浪费了大半天。

2.2 添加 Google Play 服务依赖

Location API 是 Google Play 服务的一部分,所以我们需要在 build.gradle.kts(模块级)里加上依赖。打开文件,在 dependencies 块里添加:

dependencies {
    implementation("com.google.android.gms:play-services-location:21.0.1")
    implementation("com.google.android.gms:play-services-maps:18.2.0") // 可选,后面地图章节会用到
}

这里有个坑,我必须要说。Google Play 服务的版本号更新很快,有时候你照着网上的教程写了一个旧版本,结果编译报错。我的建议是:每次写项目前,先去 Google Play 服务版本发布页面 看一眼最新版本号。当然,你直接用我上面写的 21.0.1 也没问题,至少到写这篇文章时它还是稳定的。

小技巧: 如果你只想用 Location API,不需要地图,那就只加 play-services-location 这一个依赖。别一股脑全加进去,APK 会变大不少。我曾经在一个小工具项目里加了全套 Google Play 服务,结果 APK 从 3MB 膨胀到 15MB,被领导骂了一顿。

添加完依赖后,记得点击右上角的「Sync Now」同步一下。如果出现红色波浪线,别慌,看看是不是网络问题。Google 的 Maven 仓库有时候在国内访问比较慢,你可以考虑配置阿里云的镜像仓库。

2.3 AndroidManifest 权限声明

定位功能需要权限,这是绕不开的。打开 AndroidManifest.xml,在 <manifest> 标签内添加:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 如果你需要后台定位,还需要这个 -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

嗯,这里要注意。从 Android 10(API 29)开始,后台定位权限需要单独申请,而且 Google Play 对上架应用的后台定位审核非常严格。如果你只是做学习 demo,加不加后台权限无所谓。但如果你打算上架,一定要想清楚:你的应用真的需要后台定位吗?

警告: 不要滥用后台定位权限。Google Play 现在会扫描你的应用,如果发现你申请了后台定位但功能上并不需要,直接下架。我有个朋友做的天气应用,就因为申请了后台定位被拒了三次。

2.4 模拟器配置与调试

模拟器是开发阶段最常用的调试工具。我个人习惯用 Pixel 6 的模拟器镜像,API 级别选 33 或 34。为什么选 Pixel?因为它的传感器模拟最全,包括 GPS 信号模拟。

创建模拟器的步骤很简单:

  1. 点击 Android Studio 右上角的「Device Manager」
  2. 点击「Create device」
  3. 选一个 Pixel 设备,点 Next
  4. 选一个系统镜像,推荐 API 33(Android 13),点 Next
  5. 给模拟器起个名字,比如 Pixel_6_API_33,点 Finish

模拟器启动后,你会发现一个问题:默认情况下,模拟器里的位置信息是固定的(Google 总部)。你需要手动模拟位置变化。怎么做?

打开模拟器右侧的「More」按钮(三个点那个),找到 Location 选项卡。在这里你可以输入经纬度,或者直接导入 GPX 路线文件。我建议你准备一个简单的 GPX 文件,模拟一条直线移动的路线,这样测试起来比较直观。

小技巧: 如果你用真机调试,记得打开「开发者选项」里的「允许模拟位置」选项。有些手机默认是关闭的,导致你的定位代码一直返回空值。我当初被这个坑了整整一个下午。

2.5 真机调试准备

真机调试其实比模拟器更简单,但也更容易出问题。你需要做三件事:

  1. 开启开发者选项: 在设置里找到「关于手机」,连续点击「版本号」7 次,直到提示「您已进入开发者模式」。
  2. 开启 USB 调试: 进入「开发者选项」,找到「USB 调试」并打开。
  3. 连接电脑: 用数据线连接手机和电脑,手机上会弹出一个授权提示,点「允许」。

如果你用的是 Windows,可能需要安装 USB 驱动。Mac 和 Linux 一般不需要。连接成功后,Android Studio 的「Run」按钮旁边会显示你的设备名称。

注意: 真机调试时,一定要确保手机上的 Google Play 服务是最新版本。有些国产手机预装的 Google Play 服务版本很旧,会导致 Location API 调用失败。你可以去「设置 → 应用 → Google Play 服务」里查看版本号,如果低于 21.0.0,建议更新一下。

2.6 知识体系总览

下面这张图是我画的环境搭建整体流程,你可以对照着检查自己有没有漏掉哪一步:

环境搭建知识体系 1. 创建项目 Empty Views Activity 2. 添加依赖 play-services-location 3. 权限声明 ACCESS_FINE_LOCATION 4. 模拟器配置 Pixel 6 + API 33 5. 真机调试 USB调试 + 驱动 6. 验证环境 运行空应用测试 ✅ 环境搭建完成,可以开始写定位代码了! 注意:模拟器和真机二选一即可,建议两者都准备

2.7 常见问题与避坑指南

环境搭建这块,我踩过的坑比写过的代码还多。挑几个典型的说说:

  • 依赖冲突: 如果你同时用了 play-services-locationplay-services-maps,版本号必须一致。我曾经一个用 21.0.1,一个用 21.0.0,结果编译报了一堆莫名其妙的错。解决方案:统一版本号。
  • 模拟器 GPS 信号弱: 模拟器默认的 GPS 信号强度是「中等」,有时候定位不准。你可以在模拟器的「Location」选项卡里把信号强度调到「高」。
  • 真机定位一直转圈: 检查一下手机是否开启了「仅限 GPS」定位模式。有些手机默认是「高精度模式」,但如果你不小心改成了「仅限 GPS」,在室内基本定不到位。建议用「高精度模式」。
  • Android Studio 卡在「Gradle Build Running」: 这个我遇到过无数次。多半是 Gradle 版本和插件版本不匹配。去 gradle-wrapper.properties 里改一下 Gradle 版本,或者直接升级 Android Studio 到最新版。

一句话总结: 环境搭建的核心就三件事——加依赖、加权限、配设备。这三件事做好了,后面写代码就是水到渠成的事。


公众号:蓝海资料掘金营,微信deep3321