# personal-location-app **Repository Path**: chunfeng520/personal-location-app ## Basic Information - **Project Name**: personal-location-app - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-12 - **Last Updated**: 2026-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # personal-location-app 个人向 Android 应用:地图选点后在本机模拟 / 伪装 GPS 坐标,私下安装使用,**不上架**应用商店。 ## 当前阶段 uni-app 工程初始化:**依赖已安装**,可用 HBuilderX / `npm run dev` 预览占位界面。工程根:[`app/`](./app/)。 | 已确认 | 值 | |--------|-----| | 显示名 | 定位模拟 | | Android 包名 | `com.minxiang.personallocation` | | 地图 | 高德 | ## 技术选型 | 项 | 结论 | |----|------| | 框架 | uni-app(Vue3 + Vite + TypeScript,create-uni 脚手架) | | IDE / 打包 | HBuilderX(真机/云打包)+ CLI(`npm run dev` / `build`) | | 地图 | 高德地图(选点) | | 优先平台 | Android | | 分发 | 本地打包 APK,私下发给个人安装 | | iOS | 后置 | ## 目录 ``` personal-location-app/ README.md # 本说明 需求.md # 需求主文档 app/ # uni-app 工程根(用 HBuilderX 打开此目录) ``` ## 文档 - [需求.md](./需求.md) — 需求主文档(持续更新) ## 何时能看到效果?用什么工具? | 阶段 | 能看到什么 | 工具 | 前提 | |------|------------|------|------| | **节点 3 完成后** | 首页布局、选点/启停按钮(占位交互) | 浏览器(H5) | 节点 4 装好依赖后 `npm run dev` | | **填高德 H5 Key 后** | 浏览器里真实地图选点 | 浏览器 | `amap.local.ts` 填 `h5Key` | | **要测系统级模拟定位** | 其他 App 读到假坐标 | **HBuilderX** + Android 真机/模拟器 | 填 Android Key;装自定义调试基座或云打包;开发者选项里允许模拟位置;**还需后续 Mock 插件任务** | | **私下发给别人装** | 安装包 | HBuilderX 云打包 / 本地打包出 APK | 签名 + Android Key | **推荐路径(个人玩):** 1. 先完成节点 3–4 → 用 **Chrome/Safari** 跑 H5 看界面(最快)。 2. 申请高德 Key → 本地 `amap.local.ts` 填入 → H5 看地图。 3. 装 **HBuilderX**,打开 `app/` 目录 → 运行到 Android 手机看 App 效果。 4. 真正「骗过系统 GPS」要等 Mock Location 原生能力落地后,才能在真机验证。 当前(节点 3):**可用 HBuilderX / 浏览器看界面占位**(选点、按钮、状态文案)。地图瓦片依赖高德 Key;**系统级改 GPS 尚未实现**。 ### 用 HBuilderX 看效果(可以) 1. 安装 [HBuilderX](https://www.dcloud.io/hbuilderx.html) 2. **文件 → 打开目录** → 选择 `sources/personal-location-app/app` 3. 若提示缺少依赖:先在终端执行(也可用节点 4 一并做): ```bash cd sources/personal-location-app/app nvm use 20 # 如有 nvm npm install ``` 4. 在 HBuilderX 中: - **运行 → 运行到浏览器** → 最快看 UI - **运行 → 运行到手机或模拟器 → Android** → 看 App 壳(需真机/基座) 5. 预期:能看到「定位模拟」页、地图区域、确认选点/开始/停止;点开始只会 toast 占位提示,**不会**改系统定位 6. 地图空白:正常(未填 Key);可用「使用示例点」继续点按钮联调 ## 打开与运行 ### 环境 - 建议 Node.js **20+**(`nvm use 20`) - App 真机 / 打包:安装 [HBuilderX](https://www.dcloud.io/hbuilderx.html) ### CLI(H5 / 开发自检) ```bash cd app npm install npm run dev ``` ### HBuilderX 1. **文件 → 打开目录** → `sources/personal-location-app/app` 2. 运行到浏览器或 Android 基座 3. 发行 → 原生 App-云打包(Android)用于私下分发 APK ## 高德 Key 配置(勿提交真实 Key) 1. 打开 [高德开放平台](https://console.amap.com/dev/key/app) 创建应用并申请 Key - **Android**:包名固定为 `com.minxiang.personallocation`,填写调试/发布 SHA1 - **H5**(可选):浏览器预览地图用 2. 复制示例并填写本地文件: ```bash cd app/src/config cp amap.local.example.ts amap.local.ts # 编辑 amap.local.ts,填入 androidKey / h5Key ``` 3. `amap.local.ts` 已在 `.gitignore`,不要提交。 4. 用 HBuilderX 云打包时,还需在 `manifest.json` → App 模块配置 / 地图里填 Android Key(或发行界面配置),与本地文件保持一致。 占位模块:`app/src/config/amap.ts`(可读 `YOUR_AMAP_*` 占位,本地覆盖后生效)。 > 说明:官方 `degit` 模板因 GitHub 不可达未使用;改用 `create-uni@latest app --ts`。 ## 与工作空间其他目录的关系 本项目与 `sources/hcy-*` 等业务目录无关,独立推进。