From 5f73bc5346805051458d21bdb4ab7d31871f11b9 Mon Sep 17 00:00:00 2001 From: Yuyi Wang Date: Tue, 20 Jun 2023 14:38:47 +0800 Subject: [PATCH] Add android sign. --- azure-pipelines.yml | 14 ++++++++++++++ tunet-flutter/android/.gitignore | 4 ++-- tunet-flutter/android/app/build.gradle | 18 +++++++++++++++--- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b53a23cb..503a6e47 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -156,6 +156,8 @@ jobs: - job: Build_Android pool: vmImage: 'ubuntu-20.04' + variables: + - group: 'Android sign' steps: - script: | @@ -168,9 +170,21 @@ jobs: - script: | sudo snap install flutter --classic displayName: 'Install flutter' + + - task: DownloadSecureFile@1 + name: keystore + displayName: 'Download keystore' + inputs: + secureFile: 'keystore.jks' - script: | cd tunet-flutter + cat > android/key.properties << EOL + storePassword=$(store-password) + keyPassword=$(key-password) + keyAlias=$(key-alias) + storeFile=$(keystore.secureFilePath) + EOL make apk cp build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk $(Build.ArtifactStagingDirectory)/tunet.armeabi-v7a.apk cp build/app/outputs/flutter-apk/app-arm64-v8a-release.apk $(Build.ArtifactStagingDirectory)/tunet.arm64-v8a.apk diff --git a/tunet-flutter/android/.gitignore b/tunet-flutter/android/.gitignore index 6f568019..e9ebfd18 100644 --- a/tunet-flutter/android/.gitignore +++ b/tunet-flutter/android/.gitignore @@ -9,5 +9,5 @@ GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app key.properties -**/*.keystore -**/*.jks +# **/*.keystore +# **/*.jks diff --git a/tunet-flutter/android/app/build.gradle b/tunet-flutter/android/app/build.gradle index c6348c97..6538fc3b 100644 --- a/tunet-flutter/android/app/build.gradle +++ b/tunet-flutter/android/app/build.gradle @@ -6,6 +6,12 @@ if (localPropertiesFile.exists()) { } } +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") @@ -50,11 +56,17 @@ android { versionName flutterVersionName } + signingConfigs { + release { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null + storePassword keystoreProperties['storePassword'] + } + } 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.debug + signingConfig signingConfigs.release } } namespace 'com.berrysoft.tunet_flutter'