flutter.md 3.4 KB

Flutter 开发,安卓开发

基于 Linux 容器远程开发,

Usage

.devcontainer/Dockerfile

FROM jianboy/flutter-dev-container:3.13.5

Develop

docker login --username jianboy
docker build  -f .devcontainer/Dockerfile2 -t jianboy/flutter-dev-container:3.13.5 .
docker push jianboy/flutter-dev-container:3.13.5

构建 apk

      - uses: gradle/gradle-build-action@v2
        with:
          arguments: publishToMavenLocal

rclone 同步apk

    # Setup Rclone
    - name: Setup Rclone
      uses: AnimMouse/setup-rclone@v1
      with:
        rclone_config: ${{ secrets.RCLONE_CONFIG }}

    # # Sync from Tencent COS
    - name: Rclone Sync 
      run: |
          rclone copy TencentCOS:${{ secrets.COS_CDN_BUCKET }} ./ --transfers=8 --checkers=16
      env:
        RCLONE_CONFIG_PASS: ${{ secrets.RCLONE_CONFIG_PASS }}

    # Rclone Sync to B2 & R2
    - name: Rclone Sync 
      run: |
          rclone copy ./ Cloudflare:${{ secrets.CF_R2_BUCKET }} --transfers=8 --checkers=16 --exclude=.git/** --exclude=.github/** --exclude=README.md
          rclone copy ./ Backblaze:${{ secrets.B2_BUCKET }} --transfers=8 --checkers=16 --exclude=.git/** --exclude=.github/** --exclude=README.md
      env:
        RCLONE_CONFIG_PASS: ${{ secrets.RCLONE_CONFIG_PASS }}

构建 flutter Android 项目

构建 flutter IOS 项目

本章介绍通过github托管代码,每次提交代码,github action自动触发构建,发布IOS。

步骤

  • 安装 Apple证书
  • 构建App
  • 签名
  • 发布

安装 Apple 证书

打包证书 .p12, 描述文件 .mobileprovision

P12_BASE64 P12_PASSWORD

- name: Install Apple Certificate
  uses: apple-actions/import-codesign-certs@v1
  with:
    p12-file-base64: ${{ secrets.P12_BASE64 }}
    p12-password: ${{ secrets.P12_PASSWORD }}

Android studio 构建apk

包含初始化安卓环境,构建,推送消息,提交,上传到应用商店等等

Notify on Slack

配置 SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} 通知的路径

Deploy to Play Store

需要到 google console 生成 service_account.json,配置 {{ secrets.SERVICE_ACCOUNT_JSON }}

Sign AAB

一种方法可以在代码中存放 keys.jks,然后在 build.gradle 上配置 sign。另外一种方法,使用 r0adkll/sign-android-release@v1,配置 ${{ secrets.SIGNING_KEY }} 等四个参数。

devcontainer

docker login 
docker build  -f .devcontainer/Dockerfile2 -t jianboy/android-dev-container:v1.0.1 .
docker push

dev

基于 docker 快速切换版本开发环境

nodejs

如,项目需要在node14环境下开发,可以使用以下方式:

docker run --rm -it -v /workspace:/app node:14 /bin/bash

-v /workspace:/app 挂载本地目录到容器内,/workspace 为本地目录,/app 为容器内目录

额外配置

有时候,项目需要一些额外开发环境,可以新建一个 Dockerfile 文件,构建一个本地镜像

FROM node:14
WORKDIR /app
# todo

然后使用该镜像启动容器:

docker build -t jianboy/node-hexo:14 .

docker run --rm -it -v /workspace:/app node:14 /bin/bash

python

如,项目需要在python3.8环境下开发,可以使用以下方式:

docker run --rm -it -v /workspace:/app python:3.8 /bin/bash

golang

如,项目需要在golang1.15环境下开发,可以使用以下方式:

docker run --rm -it -v /workspace:/app golang:1.15 /bin/bash