Сгенерируйте SHA-1 для приложения Flutter / React-Native / Android-Native

Я пытаюсь сгенерировать SHA-1 для приложения Flutter, для студии Android для поддержки входа в Google, но я не знаю, как это сделать, я видел несколько сообщений, которые указывают на запуск команды, но там мне нужно файл jks, я думаю, и флаттер не создает этого.

Кто-нибудь может мне помочь?

Вот мое решение, опубликованное для того же вопроса решение

Rishab 08.12.2018 19:59

Вкладка Gradle Console была заменена на "Build" в Android Studio 3.1, доступную из View -> Tool Windows -> Build.

Dani 31.03.2021 11:20
102
2
128 528
21
Перейти к ответу Данный вопрос помечен как решенный

Ответы 21

Вы не найдете представление окна Gradle в проекте flutter, поэтому вот решение для этого .. В командной строке перейдите в папку bin jdk и запустите эту команду

keytool -list -v -keystore "C:\Users\yourusernamehere\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

изменить имя пользователя в пути

@Mattias, это был один из лучших комментариев, которые я когда-либо видел здесь!

Marco Alves 21.08.2019 23:05

для Mac команда keytool -list -v -keystore ~ ​​/ .android / debug.keystore -alias androiddebugkey -storepass android -keypass android

awaik 04.02.2020 06:44

ни один из ответов не сработал, это сработало

Taha Gorme 01.12.2020 13:17

Спасибо, это помогает!

Curious 05.05.2021 19:03

Спасибо, ни один из ответов не помог, я был разочарован, но, наконец, это сработало.

Vaishnavi Sood 27.06.2021 07:56

Я частично согласен с ответом Ришаба, но мы можем

и этот подход работает со всеми flutter/React-native/Android ....

Перейдите в папку Android внутри проекта, там есть файл gradlew. так что мы можем использовать это как:

gradlew signingReport 

в Mac

./gradlew signingReport

в моем случае я использую это как:

D:\flutter\flutter_app\android>gradlew signingReport

Архитектура проекта:

Однозначно самое простое решение! как только вы введете ./gradlew signinReport, будет запрошен ключ SH1

G.Busato 23.12.2019 15:03

- чем проще, тем лучше <3

Dean Villamia 05.05.2020 16:58

Это самый простой способ-

  1. Откройте Android Studio

  2. Открыть проект

  3. Показать папку Android

  4. Щелкните правой кнопкой мыши файл "gradlew" и выберите "Открыть в терминале" -

Open in Terminal

  1. Перейдите в вид терминала и вставьте: gradlew signingReport

(отредактируйте на основе предложения Венката Д. ниже: в системах на основе unix, таких как Mac, вам необходимо указать текущий каталог, например, this- ./gradlew signatureReport)

Paste

  1. Нажмите "Ввод" и прокрутите до "Вариант: отладка", чтобы получить ключ SHA1.

Scroll to key

  1. Копируйте и используйте везде, где вам нужно, удачи!

требуется время для настройки процесса

temirbek 23.02.2019 09:01

Стоит упомянуть, что в системах на основе unix, таких как Mac, вам необходимо указать текущий каталог, например ./gradlew signatureReport

Venkat D. 14.08.2019 12:50

./gradlew signatureReport

EslamWael74 30.11.2019 20:59

Должен быть принят как ответ для проектов Flutter :)

giorgio79 03.03.2020 13:22

Идеальный ответ для Flutter

Ananta Prasad 19.03.2020 09:54

Для тех из нас, у кого возникает ошибка о том, что JAVA_HOME не установлен, я обновил переменные среды и добавил системную переменную с именем JAVA_HOME, установленную на C:\Program Files\Android\Android Studio\jre. Затем я обновил свою переменную Path и добавил %JAVA_HOME%\bin. Тогда этот ответ сработал для меня.

William Herrmann 10.02.2021 16:54

Этот дает мне ключ debug. Как получить ключ release. Так что я могу использовать его для производства.

Jay Tillu 21.04.2021 17:21
Ответ принят как подходящий

Как получить ключи Release и Debug: еще один самый простой способ (май 2019 г.). Все действия находятся внутри Android Studio.

  1. Выберите файл android / app / build.gradle и в правом верхнем углу нажмите «Открыть для редактирования в Android Studio».

  1. Откройте панель Gradle и дважды щелкните «SigninReport»,

см. Android-студия Gradle Tab

  1. Вот и все! Если вы используете Firebase - добавьте туда эти 2 ключа. Вам следует добавить оба ключа, иначе без ключа разблокировки вход в Google не будет работать на устройствах.

ТЕРМИНАЛ - еще один способ с терминалом. Если вы не можете найти ссылку «Открыть для редактирования ..».

Зайдите в папку проекта в терминале.

Mac keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Окна keytool -list -v -keystore "\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Linux keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Хотите добавить все ключи sha в firebase? и после добавления sha нужно ли заменять файл google-service.json?

BloodLoss 09.10.2019 19:25

Единственное подробное решение, которое работает для моего проекта flutter. Большое спасибо <3

sh0umik 14.10.2019 23:38

Я не вижу опцию «Открыть для редактирования в Android Studio»

Dani 22.11.2019 10:56

В этом случае на Mac вы можете использовать keytool -list -v -keystore ~ ​​/ .android / debug.keystore -alias androiddebugkey -storepass android -keypass android

awaik 04.02.2020 06:43

В моем случае это был «импортный проект Gradle» для моего приложения Flutter. Но пришлось немного подождать индексации.

kokoko 09.05.2020 08:39

Работает как по волшебству, только мне было трудно понять, на втором этапе открытия Gradle, но по умолчанию он находится в правой студии Android. Надеюсь, это кому-то поможет.

Zephania Mwando 14.05.2020 22:02

Кроме того, вы можете напрямую открыть android (название проекта -> android) как проект Android.

devu mani 16.01.2021 08:50

Если вы не видите опцию «Открыть в Android Studio», закройте проект Flutter. В Android Studio -> Откройте модуль android проекта flutter в Android Studio с его пути.

NullByte08 17.03.2021 04:59

Вкладка Gradle Console была заменена на "Build" в Android Studio 3.1, доступную из View -> Tool Windows -> Build.

Dani 31.03.2021 11:20

Это дает мне ключ отладки. Как я могу получить ключ разблокировки? Так что я могу использовать его для производства.

Jay Tillu 24.04.2021 05:51

Вы можете сгенерировать его даже с терминала. Следующее - для режима выпуска:

keytool -list -v -keystore keystore_location -alias alias_name

пример :

keytool -list -v -keystore /home/user/key.jks -alias alias_name

вы можете сделать то же самое в VSCode, откройте папку, содержащую gradlew для Linux и gradlew.bat для Windows, и запустите ./gradlew signingReport для Linux и запустите gradlew signingReport для Windows.

run ./gradlew signingReport

Отметьте это Аутентификация клиента   |   API Google для Android

Чтобы получить отпечаток сертификата отладки:

для Mac или Linux

keytool -list -v \ -alias androiddebugkey -keystore ~/.android/debug.keystore

для Windows

keytool -list -v \ -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

Пароль по умолчанию для хранилища ключей отладки - андроид.

Затем keytool печатает отпечаток пальца на терминале.

Просто и легко:

cd android && gradlew signinReport

поэтому, если вы используете студию Android или код VS, он работает с ними обоими

=> Открыть терминал

=> cd android

=> подписание отчет

и окончательный результат, подобный этому, как показано на изображении ниже, выберите ваш SSH-ключ, а здесь - ваш SSH-ключ

в приведенном выше выводе изображение показано в фиктивных данных. Я изменяю некоторые поля только из соображений безопасности.

Вам может потребоваться ввести его как «. \ Gradlew signinReport», если вы получите ошибку «gradlew не распознается как имя командлета ...»

J. Saw 30.10.2020 17:18

@ J.Saw Спасибо, что обновили меня :)

Tushar Nikam 31.10.2020 18:42

для Linux:

  1. если вы используете vscode, вы можете щелкнуть правой кнопкой мыши по gradlew-> copypath (в моем случае: /home/alif/Documents/project/flutter/fit_app/android/gradlew)
  2. откройте свой терминал и вставьте его, не забудьте удалить / gradlew
  3. введите .../android gradlew signinReport и нажмите Enter

удачи!

Способ 1

  • Убедитесь, что в вашей системе установлена ​​java.

Способ 2

  • Используя командную строку, измените свое имя пользователя и выполните следующую команду
keytool -list -v -alias androiddebugkey -keystore C:\Users\YOURUSERNAME\.android\debug.keystore
  • пароль по умолчанию - андроид

Правильный ответ, спасибо!

Sandeep Singh 12.02.2021 10:35

Я обнаружил, что мне нужно проверить отпечаток пальца в консоли Google Play, поскольку у меня есть подписка на управляемое приложение Google Play.

Те, которые были предоставлены gradlew, у меня не работали.

Обратите внимание, что вы можете поместить оба в Firebase, но вам нужен только один. Я только что добавил SHA1, и Google Sign In начал работать.

Google Play Console

Лично я пошел к терминалу, затем перешел к C: \ Program Files \ Java \ jdk-14.0.2 \ bin (перейдите в папку с java bin).

Затем я выполнил эту команду, и она сработала: keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android

Сначала проверьте, какое хранилище ключей используется вашим проектом в

Затем используйте команду ниже

 keytool -list -v -alias mstoreappsemoAlias -keystore  fluxstorepro/android/app/mstoresemoFile.keystore    

и если вы хотите сгенерировать хеш-ключ для Facebook, используйте команду ниже

 keytool -exportcert -alias mstoreappsemoAlias -keystore fluxstorepro/android/app/mstoresemoFile.keystore | openssl sha1 -binary | openssl base64

запустите эту рекомендацию это работает где угодно

в папке android

./gradlew signingReport

Например

PS E:\flutterProject\flutter_app\android> ./gradlew signingReport

какое-то время вам не нужно добавлять ./ просто

gradlew signingReport

эта работа для студии Android и cmd и commond prome

./ мне не нужен в Windows. Это работает с использованием gradlew signingReport

August Kimo 14.01.2021 18:12

Спасибо! Он работает на Ubuntu.

Aline Matos 28.01.2021 16:59

супер просто и работает, спасибо

malik kurosaki 03.06.2021 04:45

Flutter Project Using MAC & VS Code

  • Шаг первый
    Перейдите в свойства Android Gradle и добавьте эту строку

https://services.gradle.org/distributions/gradle-6.3-all.zip

  • Шаг второй Откройте Терминал в папке Android ваших проектов. затем в типе терминала

. \ gradlew signinReport

вы получите отчет о подписании, подобный этому:

перейдите в папку Android в терминале

cd android . \ gradlew signatureReport

он сгенерирует для вас ваши SHA1 и SHA256

./gradlew signatureReport

Bhargav Sejpal 16.05.2021 14:54

он не показывает ошибку: отсутствует хранилище ключей

Mayur Agarwal 30.05.2021 15:07

Чтобы сгенерировать ключ SHA-1

в терминальном типеcd androidи изменить путьзатем введите./gradlew signingReport

1. Левая сторона откройте папку Android, а не весь проект в студии Android.

2. Правая сторона открываем файл android / app / Tasks / anroid / signedReport

Финал этот процесс займет некоторое время и может занять 5-10 минут, так что наберитесь терпения

это одно из простых решений. Спасибо. проголосовали за

Saiful Islam 14.06.2021 14:01

Для Android Studio 4.2 и Flutter 2.2

Откройте свой проект, откройте android> gradlew> щелкните его правой кнопкой мыши и нажмите открыть в терминале

Как показано ниже:

Мой каталог проектов: D: \ AndroidStudioProjects \ WowTalentNew \ android> gradlew

откройте это в терминале.

После завершения сборки выполните это

D: \ AndroidStudioProjects \ YourProjectDirectory \ android> gradlew signinReport

После этого вы увидите ключи SHA

Вот мой полный экран CMD

Microsoft Windows [Version 10.0.19043.985]
(c) Microsoft Corporation. All rights reserved.

D:\AndroidStudioProjects\WowTalentNew\android>gradlew

> Configure project :app
WARNING: The option setting 'android.enableR8=true' is deprecated.
It will be removed in version 5.0 of the Android Gradle plugin.
You will no longer be able to disable R8

> Task :help

Welcome to Gradle 6.3.

To run a build, run gradlew <task> ...

To see a list of available tasks, run gradlew tasks

To see a list of command-line options, run gradlew --help

To see more detail about a task, run gradlew help --task <task>

For troubleshooting, visit https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 
7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See 

BUILD SUCCESSFUL in 6s
1 actionable task: 1 executed
D:\AndroidStudioProjects\WowTalentNew\android>gradlew signinReport

> Configure project :app
WARNING: The option setting 'android.enableR8=true' is deprecated.
It will be removed in version 5.0 of the Android Gradle plugin.
You will no longer be able to disable R8

> Task :app:signingReport
Variant: debugAndroidTest
Config: debug
Store: C:\Users\apoor\.android\debug.keystore
Alias: AndroidDebugKey
MD5: 2A:97:87:DF:E1:58:D4:9D:E6:65:18:********
SHA1: 4E:0E:D0:F7:68:51:80:47:3E:D1:**************************
SHA-256: 
17:83:42:F4:0E:59:C5:5B:1E********************************************************
BC:79
Valid until: Saturday, November 26, 2050

Надеюсь, он все проясняет, удачного кодирования!

gradlew signingReport

Используйте эту команду в Терминале, которую вы можете найти в нижнем левом углу.

Такое же решение уже опубликовано в других ответах, таких как stackoverflow.com/a/58518934/2227743

Eric Aya 22.05.2021 18:17

Другие вопросы по теме