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:
+10
-8
@@ -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 不稳定)。
|
||||
|
||||
## 修改服务器地址
|
||||
|
||||
|
||||
Reference in New Issue
Block a user