【问题标题】:Fastlane + Github Actions: Couldn't find gradlew at pathFastlane + Github Actions:在路径中找不到 gradlew
【发布时间】:2021-04-25 10:41:20
【问题描述】:

我正在尝试使用 Github Actions 和 Fastlane 为 Flutter 实现 CI/CD 工作流程。但是,当车道执行时会抛出以下错误:

我在 android 文件夹中创建了 Fastlane 文件夹。喜欢图片

这是我Fastfile的内容:

update_fastlane

default_platform(:android)

platform :android do
  desc "Deploy to closed beta track"
  lane :closed_beta do
    begin
      gradle(task: "clean")
      gradle(
        task: "bundle",
        build_type: 'Release'
      )
      upload_to_play_store(
        track: 'Closed beta',
        aab: '../build/app/outputs/bundle/release/app-release.aab',
        skip_upload_metadata: true,
        skip_upload_images: true,
        skip_upload_screenshots: true,
        release_status: "draft",
        version_code: flutter_version()["version_code"],
      )
    end
  end
end

我的 GitHub 操作工作流程允许进行构建和部署,如下所示。 Run Fastlane这一步就是错误点

name: Continuous Delivery to Play Store

on:
  push:
    branches:
      - "v*"

jobs:
  # Continuous integration
  build_android:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Setup Java
        uses: actions/setup-java@v1
        with:
          java-version: 12.x
      - name: Decrypt Android keys
        run: sh ./.github/scripts/decrypt_android_keys.sh
        env:
          ANDROID_KEYS_SECRET_PASSPHRASE: ${{ secrets.ANDROID_KEYS_SECRET_PASSPHRASE }}
      - name: Setup Flutter
        uses: subosito/flutter-action@v1
        with:
          flutter-version: 1.22.5
      - name: Install Flutter dependencies
        run: flutter pub get
        # Add build runner commands here if you have any
      - name: Format files
        run: flutter format --set-exit-if-changed .
      - name: Analyze files
        run: flutter analyze .
      - name: Run the tests
        run: flutter test
      - name: Build the APK
        run: flutter build apk
      - name: Upload artifact to Github
        uses: actions/upload-artifact@v1
        with:
          name: release-apk
          path: build/app/outputs/apk/release/app-release.apk
  # Continuous delivery
  deploy_android:
    runs-on: ubuntu-latest
    needs: [build_android]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Setup Java
        uses: actions/setup-java@v1
        with:
          java-version: 12.x
      - name: Decrypt Android keys
        run: sh ./.github/scripts/decrypt_android_keys.sh
        env:
          ANDROID_KEYS_SECRET_PASSPHRASE: ${{ secrets.ANDROID_KEYS_SECRET_PASSPHRASE }}
      - name: Setup Flutter
        uses: subosito/flutter-action@v1
        with:
          flutter-version: 1.22.5
      - name: Install Flutter dependencies
        run: flutter pub get
      - name: Build app bundle
        run: flutter build appbundle
      - uses: actions/checkout@v2
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: 2.6
          bundler-cache: true
      - name: Check file existence
        run: echo find . -name "gradlew"
      - uses: maierj/fastlane-action@v2.0.0
        with:
          lane: closed_beta
          subdirectory: android

【问题讨论】:

  • 你找到这个问题的答案了吗?
  • 目前没有:(
  • 嘿,你解决了这个问题吗?注意装箱在 gradle 路径中提到了两次
  • @EnzoLizama 你有办法解决这个问题吗?

标签: android flutter github-actions fastlane gradlew


【解决方案1】:

此屏幕截图没有任何 android/gradlew ...只需将其提交到 GitHub。

【讨论】:

    【解决方案2】:

    我有同样的问题,我发现 gradlew 被排除在你的 Flutter 项目的 /android 文件夹中的 .gitignore 中。

    虽然以下在您的本地机器上运行,但它不会运行 Github runner:

    gradle(task: "clean")
    gradle(
        task: "bundle",
        build_type: 'Release'
      )
    

    考虑从 Fastfile 中删除上面的行,因为您已经在 Github 上构建 在这里代表:

    名称:构建 APK

    运行:flutter build apk

    【讨论】:

    • 我试过了,还是不行。
    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 2021-02-22
    • 1970-01-01
    • 2021-04-04
    • 2023-01-27
    • 2021-12-07
    • 2020-07-01
    • 1970-01-01
    相关资源
    最近更新 更多