I use Github Action to automatically package the Android APK file (same signature file), but when installing to the phone, it prompts: "The signature of the app is inconsistent with the signature of the installed app". Does anyone know how to deal with it? Thank you!
My process configuration:
# This is a basic workflow to help you get started with Actions
name: build
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build_android:
# The type of runner that the job will run on
runs-on: ubuntu-latest
env:
KEY_JKS: ${{ secrets.KEY_JKS }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.0.5'
channel: 'stable'
cache: true
cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash
cache-path: /Users/runner/hostedtoolcache/flutter/:channel:-:version:-:arch
- name: Flutter action
# You may pin to the exact commit or the version.
uses: subosito/flutter-action@v2.7.0
- name: Create Key File
run: echo $KEY_JKS | base64 -di > android/app/release.jks
# build apk
- uses: actions/checkout@v3
- uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '11'
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.0.5'
- run: flutter pub get
- run: flutter build apk
- uses: actions/upload-artifact@v1
with:
name: app-release.apk
path: build/app/outputs/apk/release/app-release.apk
token: ${{ secrets.GITHUB_TOKEN }}
I have solved this problem.The problem that appeared before, seems to be the cause of the cache.
The steps are as follows:
It mainly includes the modification of the following two lines:
- run: flutter clean
- run: echo $KEY_JKS | base64 -di > android/app/release.jks
Now my process file is like this:
# This is a basic workflow to help you get started with Actions
name: build
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build_android:
# The type of runner that the job will run on
runs-on: ubuntu-latest
env:
KEY_JKS: ${{ secrets.KEY_JKS }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.0.5'
channel: 'stable'
cache: true
cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash
cache-path: /home/runner/hostedtoolcache/flutter/:channel:-:version:-:arch
- name: Flutter action
uses: subosito/flutter-action@v2.7.0
# build apk
- uses: actions/checkout@v3
- uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '11'
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.0.5'
- run: flutter clean
- run: echo $KEY_JKS | base64 -di > android/app/release.jks
- run: flutter pub get
- run: flutter build apk
- uses: actions/upload-artifact@v1
with:
name: app-release.apk
path: build/app/outputs/apk/release/app-release.apk
token: ${{ secrets.GITHUB_TOKEN }}
build_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'beta'
- run: flutter config --enable-windows-desktop
- run: flutter build windows
- uses: actions/upload-artifact@v1
with:
name: windows-build
path: "build/windows/runner/Release"
token: ${{ secrets.GITHUB_TOKEN }}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.