fastlane / fastlane

šŸš€ The easiest way to automate building and releasing your iOS and Android apps
https://fastlane.tools
MIT License
39.01k stars 5.66k forks source link

APK has not been signed with the upload certificate. #20212

Closed kovkev closed 2 years ago

kovkev commented 2 years ago

New Issue Checklist

Issue Description

I cannot upload my Android app to the play store.

Command executed

fastlane, then I chose | 3 | android deploy | Deploy a new version to the Google Play |.

Complete output when running fastlane, including the stack trace and command used

[18:46:13]: Google Api Error: Invalid request - APK has not been signed with the upload certificate.

DETAILS:

Notice that the certificates correspond. The signature the apk was signed with, and the release's keystore's signature.

kevin@Kevins-MacBook-Pro fastlane % keytool -printcert -jarfile project/android/app/build/outputs/apk/release/app-release.apk

Signer #1:

Signature:

Owner: CN=Kevin, OU=PROJECT, O=PROJECT, L=X, ST=Y, C=Z
Issuer: CN=Kevin, OU=PROJECT, O=PROJECT, L=X, ST=Y, C=Z
Serial number: 238a7d98
Valid from: Sun Feb 20 21:04:04 PST 2022 until: Thu Feb 14 21:04:04 PST 2047
Certificate fingerprints:
         SHA1: 88:2E:6D:52:3A:CE:7E:74:B1:39:EF:06:40:42:0E:E5:C7:F4:52:0B
         SHA256: 2E:CD:6B:A4:6E:88:C6:55:E4:0D:72:11:A4:F9:A9:86:BA:7B:26:7A:60:48:64:3B:32:69:F8:14:6E:2A:51:30
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

Extensions: 

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: D5 BF BF B0 72 2A BD 87   C4 FA 8D 94 C9 CF 46 66  ....r*........Ff
0010: 45 FB 0E 0C                                        E...
]
]

kevin@Kevins-MacBook-Pro android % ./gradlew signingReport

Starting a Gradle Daemon, 1 stopped Daemon could not be reused, use --status for details

> Task :app:signingReport
Variant: release
Config: release
Store: /project/android/project_release_keystore2.keystore
Alias: key0
MD5: B8:B9:C7:3F:5F:1A:48:D8:85:5C:08:59:E4:0A:10:F4
SHA1: 88:2E:6D:52:3A:CE:7E:74:B1:39:EF:06:40:42:0E:E5:C7:F4:52:0B
SHA-256: 2E:CD:6B:A4:6E:88:C6:55:E4:0D:72:11:A4:F9:A9:86:BA:7B:26:7A:60:48:64:3B:32:69:F8:14:6E:2A:51:30
Valid until: Thursday, February 14, 2047

Environment

šŸš« fastlane environment šŸš« ### Stack | Key | Value | | --------------------------- | ---------------------------------------------------------- | | OS | 12.3.1 | | Ruby | 3.1.1 | | Bundler? | false | | Git | git version 2.35.1 | | Installation Source | /opt/homebrew/Cellar/fastlane/2.205.1/libexec/bin/fastlane | | Host | macOS 12.3.1 (21E258) | | Ruby Lib Dir | /opt/homebrew/Cellar/ruby/3.1.1/lib | | OpenSSL Version | OpenSSL 1.1.1m 14 Dec 2021 | | Is contained | false | | Is homebrew | true | | Is installed via Fabric.app | false | | Xcode Path | /Applications/Xcode.app/Contents/Developer/ | | Xcode Version | 13.3.1 | | Swift Version | 5.6 | ### System Locale | Variable | Value | | | -------- | ----------- | - | | LANG | en_US.UTF-8 | āœ… | | LC_ALL | | | | LANGUAGE | | | ### fastlane files:
`./fastlane/Fastfile` ```ruby # This file contains the fastlane.tools configuration # You can find the documentation at https://docs.fastlane.tools # # For a list of all available actions, check out # # https://docs.fastlane.tools/actions # # For a list of all available plugins, check out # # https://docs.fastlane.tools/plugins/available-plugins # # Uncomment the line if you want fastlane to automatically update itself # update_fastlane default_platform(:android) platform :android do desc "Runs all the tests" lane :test do gradle(task: "test") end desc "Submit a new Beta Build to Crashlytics Beta" lane :beta do gradle(task: "clean assembleRelease") crashlytics # sh "your_script.sh" # You can also use other beta testing services here end desc "Deploy a new version to the Google Play" lane :deploy do gradle(task: "clean assembleRelease") upload_to_play_store end end ```
`./fastlane/Appfile` ```ruby # json_key_file("/project/android/app/google-services.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one # package_name("com.project.project") # e.g. com.krausefx.app json_key_file("/project/android/fastlane/api-5731855553615841719-947549-4d29ed883ff2.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one package_name("com.project.project") # e.g. com.krausefx.app ```
### fastlane gems | Gem | Version | Update-Status | | -------- | ------- | ------------------ | | fastlane | 2.205.2 | Up-To-Date | ### Loaded fastlane plugins: **No plugins Loaded**
Loaded gems | Gem | Version | | ------------------------------- | ------------ | | error_highlight | 0.3.0 | | did_you_mean | 1.6.1 | | atomos | 0.1.3 | | rexml | 3.2.5 | | CFPropertyList | 3.0.5 | | claide | 1.1.0 | | colored2 | 3.1.2 | | nanaimo | 0.3.0 | | xcodeproj | 1.21.0 | | rouge | 2.0.7 | | xcpretty | 0.3.0 | | terminal-notifier | 2.0.0 | | unicode-display_width | 1.8.0 | | terminal-table | 1.8.0 | | plist | 3.6.0 | | public_suffix | 4.0.6 | | addressable | 2.8.0 | | multipart-post | 2.0.0 | | word_wrap | 1.0.0 | | optparse | 0.1.1 | | tty-screen | 0.8.1 | | tty-cursor | 0.7.1 | | tty-spinner | 0.9.3 | | artifactory | 3.0.15 | | babosa | 1.0.4 | | colored | 1.2 | | highline | 2.0.3 | | commander | 4.6.0 | | excon | 0.92.1 | | faraday-em_http | 1.0.0 | | faraday-em_synchrony | 1.0.0 | | faraday-excon | 1.1.0 | | faraday-httpclient | 1.0.1 | | faraday-multipart | 1.0.3 | | faraday-net_http | 1.0.1 | | faraday-net_http_persistent | 1.2.0 | | faraday-patron | 1.0.0 | | faraday-rack | 1.0.0 | | faraday-retry | 1.0.3 | | ruby2_keywords | 0.0.5 | | faraday | 1.10.0 | | unf_ext | 0.0.8.1 | | unf | 0.1.4 | | domain_name | 0.5.20190701 | | http-cookie | 1.0.4 | | faraday-cookie_jar | 0.0.7 | | faraday_middleware | 1.2.0 | | fastimage | 2.2.6 | | gh_inspector | 1.1.3 | | json | 2.6.1 | | mini_magick | 4.11.0 | | naturally | 2.2.1 | | rubyzip | 2.3.2 | | security | 0.1.3 | | xcpretty-travis-formatter | 1.0.1 | | dotenv | 2.7.6 | | bundler | 2.3.7 | | simctl | 1.6.8 | | jwt | 2.3.0 | | uber | 0.1.0 | | declarative | 0.0.20 | | trailblazer-option | 0.1.2 | | representable | 3.1.1 | | retriable | 3.1.2 | | mini_mime | 1.1.2 | | memoist | 0.16.2 | | multi_json | 1.15.0 | | os | 1.1.4 | | signet | 0.16.1 | | googleauth | 1.1.2 | | httpclient | 2.8.3 | | webrick | 1.7.0 | | google-apis-core | 0.4.2 | | google-apis-playcustomapp_v1 | 0.7.0 | | google-apis-androidpublisher_v3 | 0.16.0 | | google-cloud-env | 1.5.0 | | google-cloud-errors | 1.2.0 | | google-cloud-core | 1.6.0 | | google-apis-iamcredentials_v1 | 0.10.0 | | google-apis-storage_v1 | 0.11.0 | | rake | 13.0.6 | | digest-crc | 0.6.4 | | google-cloud-storage | 1.36.1 | | emoji_regex | 3.2.3 | | jmespath | 1.6.1 | | aws-partitions | 1.569.0 | | aws-eventstream | 1.2.0 | | aws-sigv4 | 1.4.0 | | aws-sdk-core | 3.130.0 | | aws-sdk-kms | 1.55.0 | | aws-sdk-s3 | 1.113.0 | | set | 1.0.2 | | forwardable | 1.3.2 | | logger | 1.5.0 | | pathname | 0.2.0 | | shellwords | 0.1.0 | | cgi | 0.3.1 | | date | 3.2.2 | | timeout | 0.2.0 | | stringio | 3.0.1 | | securerandom | 0.1.1 | | uri | 0.11.0 | | openssl | 3.0.0 | | digest | 3.1.0 | | io-nonblock | 0.1.0 | | ipaddr | 1.2.4 | | io-wait | 0.2.1 | | zlib | 2.1.1 | | resolv | 0.2.1 | | time | 0.2.0 | | open-uri | 0.2.0 | | mutex_m | 0.1.1 | | net-protocol | 0.1.2 | | net-http | 0.2.0 | | ostruct | 0.5.2 | | english | 0.7.1 | | erb | 2.2.3 | | strscan | 3.0.1 | | abbrev | 0.1.0 | | io-console | 0.5.11 | | tempfile | 0.1.2 | | delegate | 0.2.0 | | fileutils | 1.6.0 | | tmpdir | 0.1.2 | | base64 | 0.1.1 | | singleton | 0.1.1 | | open3 | 0.1.1 | | nkf | 0.1.1 | | prettyprint | 0.1.1 | | pp | 0.3.0 | | find | 0.1.1 | | yaml | 0.2.0 | | psych | 4.0.3 |
*generated on:* **2022-04-23**
kovkev commented 2 years ago

I had to go find my old keystore file from my old laptop. Thank you!