flutter 的常规使用,一套代码适配多平台

目录

在 vscode 中安装 flutter

按照 Set up and test drive Flutter 中的说明进行操作。

通过命令行的 flutter doctor -v 查看本地环境存在的问题。

配置国内地址,否则指定在模拟器上运行的时候,可能会下载不了文件,一直处于 Flutter: Lauching … 状态

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

连接 anroid 模拟器

如果要启动 andorid 模拟器并运行应用,需要手动安装 android sdk 的 cmdline-tool。Android Studio 默认不会安装命令行工具:

1. 打开 Android Studio → 点击顶部菜单栏「Tools」→「SDK Manager」;
2. 在弹出的窗口中,选择「SDK Tools」标签页(顶部);
3. 勾选「Android SDK Command-line Tools (latest)」(确保版本是最新);
4. 点击「Apply」→「OK」,等待组件下载安装完成(需联网,大小约 100MB)。

连接 ios 模拟器

如果要启动 ios 模拟器并运行应用,需要手动将 xcode-select 指向完整的 xcode 开发目录:

$ xcode-select -p
/Library/Developer/CommandLineTools  # 不完整的,只包含基础命令行工具

# 切换到完整的Xcode开发者目录
$ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

还需要安装 CocoaPods:

$ sudo gem install cocoapods
$ pod --version 
1.16.2  # 安装成功

新建 flutter 项目

shfit + cmd + p, 输入 flutter,选择 flutter: New Project

运行调试

在 vscode 中可以分别将应用在 android、ios、真机以及本地浏览器中运行。

首先要选择目标设备。shift + cmd + p,输入 flutter,点击 flutter: selecte device,弹出本地识别的设备列表。选中的设备名称显示在 ide 右下角,直接点击右下角的设备名称也能唤出设备选择列表。

然后就和调试其它项目类似,通过 vscode 侧边栏的 Run & Debug 功能运行。

android 和 ios 版本分别调试

在 vscode 中指定哪个设备,就会构建对应的 android 或者 ios 版本。如果 vscode 中构建失败,可能是存在某些缺失,先用 android studio 以及 xcode 打开对应的项目文件,在其中修复相关问题。

  • android 项目文件:./android
  • ios 项目文件: ./ios/Runner.xcodeproj

设置 bundle name

flutter 项目创建后,就为 ios/android 设置了默认的 bundle id 和 package name,通常不符合我们需要,需要修改。

  • 方法 1:可以分别到 xcode 和 android studio 修改

flutter 接入腾讯 tcb 微信登录

腾讯云的 CloudBase 支持多种第三方登录方式,flutter 项目可以直接用 CloudBase Flutter SDK 完成接入。

还需要两个配置:

  • 在微信开放平台中注册移动应用,配置应用包名和签名,并开启微信登陆(账号认证后才可以开通,认证费用300)
  • 在腾讯的 cloudbase 中开启微信开放平台登陆,配置移动应用的 appid 和 secret

打包发布

ios 应用构建以及提交

  • 用 flutter build ipa 完成构建
  • 安装 transporter 应用,用它将上一步构建的产物直接上传到 appstoreconnect(需要先在 appstoreconnect 中完成应用创建)
  • 或者用 xocde 打开项目下的 ios/runner 目录,在 xcode 中重新 product->archive 然后提交

android 应用构建以及提交

  • android 应用要构建可以提交到 play 的产物,需要先配置上传证书。
  • 证书配置完成后,用 flutter build appbundle 构建
  • 在 play 网页中直接上传构建产物

android 上传证书设置

andorid/app/build.gradle.kts 中默认为 release 指定 debug 证书签名,需要生成一个上传密钥,然后构建出的 bundle 文件才能被 google play 接受。

andorid/app/build.gradle.kts 中默认用的是 debug:

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.getByName("debug")
        }
    }

新作一个上传密钥:

keytool -genkeypair -v \
  -keystore ~/google-play-upload-keystore.jks \
  -keyalg RSA \
  -keysize 2048 \
  -validity 10000 \
  -alias upload

回到 andorid/app/build.gradle.kts 中,添加新的签名证书,信息和证书生成时用保持一致:

signingConfigs {
    create("release") {
        keyAlias = "upload"
        keyPassword = "xxx"
        storeFile = file("/Users/xxx/google-play-upload-keystore.jks")
        storePassword = "xxx"
    }
}

buildTypes {
    release {
        signingConfig = signingConfigs.getByName("release")
    }
}

参考

  1. 李佶澳的博客

推荐阅读

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作

友情链接:  Some Online Tools Develop by Me  系统软件  程序语言  运营经验  水库文集  网络课程  微信网文