mobile: 提交 android/ios 平台脚手架与打包配置(B-58)

- flutter create 生成的 android/ ios/ 脚手架入库,服务器/使用者无需再装 Flutter
- AndroidManifest:补 INTERNET/录音/存储权限,应用名改「畅联」,开 usesCleartextTraffic(内网 http/ws)
- iOS Info.plist:麦克风/相册用途说明、ATS 放行内网明文、显示名「畅联」
- gradle:阿里云镜像优先(本网络 maven.google.com 不可达);统一 Java/Kotlin 编译目标 17;
  抬升 livekit_client compileSdk 到 36 以满足 flutter_webrtc 的 AAR 校验
- README 更新为「直接打包」流程
This commit is contained in:
KIMI
2026-08-15 13:22:25 +08:00
parent 7ce40e356f
commit d481e1bc2f
65 changed files with 1653 additions and 10 deletions
+10 -8
View File
@@ -1,22 +1,24 @@
# 畅联 · 手机端(Flutter
公司内部通讯 App 的手机端源码。骨架配色走企业微信式办公风(主色蓝 `#3B87F5`),聊天手感照微信。本目录只含 Dart 源码与 `pubspec.yaml`,不含 android/ios 平台脚手架
公司内部通讯 App 的手机端源码。骨架配色走企业微信式办公风(主色蓝 `#3B87F5`),聊天手感照微信。仓库已带 `android/``ios/` 平台脚手架与全部权限声明,**不需要再跑 `flutter create`**
## 生成平台脚手架
## 打包 / 运行
本仓库不带 `android/``ios/` 目录。在 `mobile/` 目录下执行一次即可生成
打包是开发机上的事,**服务器上不需要装 Flutter**(服务器只跑 docker 后端)。在装好 Flutter 与 Android SDK 的开发机上
```bash
cd mobile
flutter create --platforms=android,ios .
flutter pub get
flutter run
flutter build apk --release # 出安卓安装包 build/app/outputs/flutter-apk/app-release.apk
```
生成后还需要按需补充平台权限声明(Flutter 不会自动加):
iOS 需要一台 Mac 搭配 Xcode 与开发者证书,另按苹果流程打包。
- `android/app/src/main/AndroidManifest.xml`:录音(`RECORD_AUDIO`)、网络(`INTERNET`,默认有)、读写外部存储(发文件用,按 targetSdk 版本适配)。
- `ios/Runner/Info.plist``NSMicrophoneUsageDescription`(语音消息与通话)、`NSPhotoLibraryUsageDescription`(发图片)。
已声明的平台权限(勿删):
- `android/app/src/main/AndroidManifest.xml``INTERNET``RECORD_AUDIO`(语音消息/通话)、`MODIFY_AUDIO_SETTINGS`、存储/相册读取(发文件、发图片);并开启了 `usesCleartextTraffic`(内网服务器暂用 http/ws 明文,开通外网改 HTTPS 后应移除)。
- `ios/Runner/Info.plist``NSMicrophoneUsageDescription`(语音消息与通话)、`NSPhotoLibraryUsageDescription`(发图片)、`NSAppTransportSecurity/NSAllowsArbitraryLoads`(同上,内网明文)。
- `android/build.gradle.kts` / `settings.gradle.kts` 把阿里云 Maven 镜像放在最前(本网络访问 maven.google.com 不稳定)。
## 修改服务器地址