Android Studio调试模式下如何获取SHA-1指纹证书?

我把自己从Eclipse移到了Android工作室。现在我正在使用我的地图应用程序。所以我需要我的SHA-1指纹证书号码。

当我使用Eclipse时,它就在Windows ->首选项-> Android ->构建下面。但在Android Studio中,我找不到这样的选项,所以我可以很容易地找到指纹。我用的是Windows。我从链接中读到:

Android Studio自动在调试模式下签署应用程序

.从IDE运行或调试项目

所以我试着在命令行中运行这个,从这个链接设置我的Java bin路径,不幸的是找不到我的指纹。# EYZ1。

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

有没有办法从Android Studio找到SHA-1指纹,就像在Eclipse中很容易一样?因为我是Android Studio的新手,找到它的整个过程是什么?

我想添加的另一件事是,我让我的Eclipse生成SHA-1指纹,之前我在谷歌开发人员控制台的指纹上注册了我的应用程序,并且我通过该API密钥在Eclipse中对该应用程序进行了操作。是相同的API键可以在这个我的项目在Android工作室?

922668 次浏览
  • 进入文件>项目结构 从Modules

  • 中选择appmobile
  • 选择Signing标签。

  • 您可以点击+按钮添加证书。

我的问题是一样的,因为我也把我的谷歌地图项目从Eclipse转移到Android工作室。我是这样解决我的问题的:

通过以下命令进入Java bin目录:

C:\Program Files\Java\jdk1.7.0_71\bin>

现在在命令窗口(CMD.EXE)中输入以下命令:

keytool -list -v -keystore c:\users\your_user_name\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

例子:

keytool -list -v -keystore c:\users\James\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

如果你不知道用户名,你也可以在cmd下写:

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

你会得到SHA1。

然后我从https://code.google.com/apis/console创建了一个新键,因为我的包名已经更改,然后在我的应用程序中使用这个键。它工作得很好。

确保您在jdkX.X。X_XX(我的文件夹名是jdk1.7.0_71)箱子文件夹中,否则,如果您不知道您拥有的文件夹名称,则通过打开Java文件夹找到它,您将看到文件夹名称,但您必须在BIN文件夹中,然后运行此命令。今天,我通过上述程序在cmd命令窗口中获得了我的SHA1值。

快照:

Enter image description here

对于Softcoder给出的答案,我想补充一点。我见过一些人不能在command line上正确地给出他们的debug.keystore路径。他们看到他们正在做上面所接受的确切过程,但它不起作用。此时尝试拖动调试。并将其放到命令行上。如果公认的答案不适合你,它会有所帮助。毫不犹豫地完成整个过程。这是一个很好的答案。

对于Mac来说,这非常有效:

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

我刚刚找到了在Android Studio中获得SHA-1的案例:

  1. 点击您的包,并选择 -> 谷歌 -> 谷歌映射活动
  2. Android Studio重定向到google_maps_api.xml

您将看到获得google_maps_key所需的所有内容。

Image

这招对我很管用:

keytool -exportcert -alias androiddebugkey -keystore

将调试或生产密钥库的路径放在这里,如C:\users\youruser.android\debug。Keystore -list -v .使用实例

确保您已经在命令或终端窗口中的Java\jdk*\bin目录中。

然后使用Android作为密码。

有时网络资源可能具有误导性。这些是有效的:

如果你有Android工作室,那么它非常非常简单。只需使用Android Studio创建一个MapActivity,创建后进入google_maps_api.xml。在评论中会给出一个链接。如果你把它粘贴到浏览器中,它会要求你填写一些细节,然后你的API就会生成。没有必要使用keytool和所有。

屏幕截图:

Enter image description here

我直接在我的Mac上使用终端使用下面的命令。我得到了SHA1手指。命令如下:

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

如果你正在使用Android Studio,你可以得到SHA-1、MD5证书指纹(调试,发布…所有构建类型!!)快速通过它的任务:

signingReport

SHA-1和MD5证书如“消息日志”所示。

Android插件(在Gradle应用中配置)为默认创建一个调试模式。

com.android.application

到密钥库的文件路由:

HOME/.android/debug.keystore

我推荐附加 debug.keystorebuild.gradle。要做到这一点,把一个文件,debug.keystore,在app文件夹中,然后在Gradle app中添加signingconfigurations:

apply plugin: 'com.android.application'


android {
................
signingConfigs {
debug {
storeFile file("../app/debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
release {
storeFile file("../app/debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
........
}

额外提示:如果你想要发布,把一个文件,release.keystore,在应用文件夹中。(本例使用相同的debug.keystore。)

密钥存储库的路径用双引号括起来。它工作得很好。

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

# EYZ0

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

获取生产密钥库的SHA1:

  1. 生成签名APK…

  2. 使用密码创建密钥存储库,并按照步骤操作

  3. 去你的Mac/Library/Java/JavaVirtualMachines/jdk1.8.0_20。然后在cd命令后将bin文件夹拖到终端指向它,以便使用keytool工具。因此,在终端写入cd(拖到这里),然后按enter。

  4. 然后,复制并粘贴到终端:

    keytool -exportcert -alias Your_keystore_AliasName -keystore /Users/Home/Development/AndroidStudioProjects/YoutubeApp/app/YoutubeApp_keystore.jks -list -v
    

    删除我的路径,到存储密钥库的地方,拖动keystone并将其放在命令行中的-keystore之后,这样就会创建路径。

    此外,擦除Your_keystore_AliaseName,以放入您创建时使用的别名keystone名称

  5. Enter并输入密码:)

  6. 当您输入密码时,终端不会显示它接收键盘输入,但它实际上接收了,因此输入密码并按 enter ,即使您没有看到密码被输入。

对于Windows 10,从Android工作室终端:

keytool -exportcert -alias androiddebugkey -keystore %USER_PROFILE%"/.android/debug.keystore -list -v

注意:对于debug.keystore,密码为“android”。调试密钥存储库通常位于"%USER_PROFILE%"/.android/debug.keystore

如果你需要SHA1的谷歌地图,你可以看到你的错误日志在LogCat

我发现了一个非常简单的过程来找到你的MD5, SHA-1指纹使用 Android工作室。< / p >
  1. 运行你的项目
  2. 转到Gradle菜单(菜单:视图->工具窗口-> Gradle)
  3. 转到Gradle窗口的signingReport。(你的项目->任务-> android -> signingReport)
  4. 运行它。(使用双击或Ctrl + Shift + F10)
  5. 在运行窗口,你会发现所有的信息。

它只在调试模式下工作。在释放模式下,我看不到sha-1。 这里是gradlew signingReport

的结果
Variant: release
Config: none
----------
Variant: releaseUnitTest
Config: none
----------
Variant: debug
Config: debug
Store: path\Android\avd\.android\debug.keystore
Alias: AndroidDebugKey
MD5: xx:xx:xx:62:86:B7:9C:BC:FB:AD:C8:C6:64:69:xx:xx
SHA1: xx:xx:xx:xx:0F:B0:82:86:1D:14:0D:AF:67:99:58:1A:01:xx:xx:xx
Valid until: Friday, July 19, 2047
----------

所以我必须使用keytool来获取sha-1。下面是Firebase官方文档:

Get_sha-1_for_release

最简单的方法:

最后一步为Android Studio V 2.2添加了更新

有两种方法。

# EYZ0:

  1. Open Android Studio
  2. 打开你的项目
  3. 点击Gradle(从右边面板,你会看到Gradle酒吧)
  4. 点击刷新(从Gradle酒吧点击刷新,你会看到项目的列表 Gradle脚本)
  5. 点击你的项目(你的项目名称形式列表 (root))
  6. 点击任务
  7. 点击Android
  8. 双击signingReport(你会在经营酒吧中得到SHA1MD5(有时会在Gradle控制台中))
  9. 模块选择下拉菜单中选择应用程序模块来运行或调试应用程序

请看下面的截图:

enter image description here

# EYZ0:

  1. Open Android Studio
  2. 打开你的项目
  3. 点击文件菜单->选择 ->点击谷歌 ->选择谷歌映射活动
  4. 将出现一个对话框-单击完成
  5. Android Studio会自动生成XML文件命名google_maps_api.xml
  6. 您将在这里获得调试SHA1键(在XML文件的第10行处)

请看下面的截图:

Enter image description here

Android Studio V 2.2更新

执行有一个问题。

# EYZ0

  • 经营酒吧点击切换任务执行/文本模式

请看下面的截图:

enter image description here

完成了。

点击右边面板上的Gradle图标,然后点击(根)。

任务> android > signingReport

然后Gradle脚本将执行,您将看到您的键。

当创建一个新的“谷歌地图项目”时,在Android Studio V 1.5.1中,最后一个屏幕打开google_maps_api.xml文件,并显示如下说明的屏幕:

资源:

注意事项:在运行应用程序之前,需要一个谷歌Maps API密钥。

想要得到一个,点击这个链接,按照说明,然后按下最后的“创建”:

# eyz0你的sha-1 +你的包名

您还可以使用这一行将您的凭据添加到现有密钥中:
你的SHA-1:你的包名

或者,按照这里的说明:
# EYZ0 < / p > 一旦你有了你的密钥(它以“AIza”开始),在这个文件中替换“google_maps_key”字符串。
# EYZ0 < / p >

要获得你的谷歌映射键,只需将URL链接剪切并粘贴到浏览器中,并在创建新应用程序时遵循上面的说明。SHA-1Package names已经在给出的链接中,所以你不需要知道它们。然而,它们将在您的项目中的resources>Values>google_maps_api.xml文件中,当您按照创建项目的说明完成时。

这在我的情况下是有效的:使用% USERPROFILE %而不是给出路径。keystore文件自动存储在这个路径C:用户/用户名/ .android:

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

这在Gnu / Linux < em > < / em > - < em > Mac < / em > < em > < / em >窗户中非常非常简单

第一: -复制该命令

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
现在在Android Studio的终端中复制并粘贴命令 # EYZ0 < / p >

结果!

enter image description here

祝你好运! !

为Android生成sha - 1键的最佳解决方案是从Android工作室开始。

点击最右边的Gradle:

.

点击刷新图标,你会看到应用程序的名称:

.

点击任务 -> 报告 -> 签署报告:

.

在控制台底部找到SHA-1密钥:

.

使用keytool使用API管理器的说明:

从AndroidManifest.xml文件中获取包名。然后使用 获取指纹的命令:

.使用实例

# EYZ0

我是这样做的:

进入这个文件夹

On Mac: /Users/<username>/.android/


On Windows: C:\Documents and Settings\<username>\.android\


On Linux: ~/.android/

步骤2:运行命令行:

keytool -list -v -keystore debug.keystore -storepass android

您将看到SHA-1密钥。

获取指纹最简单的方法是从应用程序切换到签名报告,点击下拉菜单,然后单击构建。

enter image description here

然后,您将能够在底部窗格中看到sha1指纹,在那里您可以看到调试报告和堆栈跟踪。注意:当你想在设备或模拟器上运行你的应用程序时,记得切换回应用程序。

您可以使用以下命令并使用您的系统名称更改AJAY SUNDRIYAL。这只适用于你的debug.keystore,这将为你工作。

C:\Program Files\Java\jdk1.8.0_91\bin>keytool -list -v -keystore "c:\users\AJAY SUNDRIYAL\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

我用@Hiren Patel的答案,但在Android studio 2.2及更高版本中略有变化

enter image description here

使用简单的命令:

Keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v .使用实例

你会得到SHA1密钥。

(2017年更新)

第一步:在Android Studio的右上方单击Gradle选项。

Android Studio Click On Gradle option

# EYZ0

——点击刷新(从Gradle栏点击刷新,你会看到项目的Gradle脚本列表)

——点击你的项目(你的项目名称表单列表(根))

——点击任务

——点击Android

双击signingReport(你会在Gradle控制台/运行栏中得到SHA1和MD5)

enter image description here

第三步:点击Android Studio底部的Gradle控制台选项,查看你的SHA1密钥。

enter image description here

现在你得到了SHA密钥,但你不能运行你的项目。这就是为什么将配置更改为应用程序模式。见下图。

enter image description here

像这样。

enter image description here

第五步:快乐编码!!

  1. 点击右边窗格中的Gradle图标。
  2. 单击根项目名称。
  3. 点击任务
  4. 点击安卓
  5. 单击signingReport
  6. 在您看到运行报告的底部窗格中
  7. 点击“切换任务执行/文本模式”
  8. 你可以看到sha-1

Android Studio SHA-1

我是这样做的,它起作用了

keytool.exe -list -v -alias ALIAS_NAME -keystore "E:\MID_PATH\trackMeeKeyStore.jks" -storepass PASS -keypass PASS

简单,在你的启动屏幕中调用这个方法:hash()和getCertificateSHA1Fingerprint(),然后键将在日志中可见

private void hash() {




PackageInfo info;
try {


info = getPackageManager().getPackageInfo(
this.getPackageName(), PackageManager.GET_SIGNATURES);


for (android.content.pm.Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("sagar sha key", md.toString());
String something = new String(Base64.encode(md.digest(), 0));
Log.e("sagar Hash key", something);
System.out.println("Hash key" + something);
}


} catch (PackageManager.NameNotFoundException e1) {
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
}


private void getCertificateSHA1Fingerprint() {
PackageManager pm = this.getPackageManager();
String packageName = this.getPackageName();
int flags = PackageManager.GET_SIGNATURES;
PackageInfo packageInfo = null;
try {
packageInfo = pm.getPackageInfo(packageName, flags);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
Signature[] signatures = packageInfo.signatures;
byte[] cert = signatures[0].toByteArray();
InputStream input = new ByteArrayInputStream(cert);
CertificateFactory cf = null;
try {
cf = CertificateFactory.getInstance("X509");
} catch (CertificateException e) {
e.printStackTrace();
}
X509Certificate c = null;
try {
c = (X509Certificate) cf.generateCertificate(input);
} catch (CertificateException e) {
e.printStackTrace();
}
String hexString = "";
try {
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(c.getEncoded());
Log.e("sagar SHA",byte2HexFormatted(publicKey));
} catch (NoSuchAlgorithmException e1) {
e1.printStackTrace();
} catch (CertificateEncodingException e) {
e.printStackTrace();
}
}


public static String byte2HexFormatted(byte[] arr) {
StringBuilder str = new StringBuilder(arr.length * 2);
for (int i = 0; i < arr.length; i++) {
String h = Integer.toHexString(arr[i]);
int l = h.length();
if (l == 1) h = "0" + h;
if (l > 2) h = h.substring(l - 2, l);
str.append(h.toUpperCase());
if (i < (arr.length - 1)) str.append(':');
}
return str.toString();
}

谢谢你!

打开你的C驱动器程序文件->打开JAVA文件夹->打开Bin并双击jarsigner.exe

然后打开Cmd

去C:\Program Files\Java\ jdk1.8.0_191\bin然后输入然后去C:\Program Files\Java\ jdk1.8.0_191\bin>keytool -list -keystore "F:\BTG UPDATE BUILD\Beyond_The_Game.jks"

输入JUST Show输入Kaystoer密码*****输入你的密码最后输入你的释放SHA密钥得到你谢谢enter image description here

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

对我来说,最短的方法是在终端命令行中输入./gradlew signingReport

注:如果你在Windows中使用.\gradlew signingReport代替。

执行以下步骤

Gradle(右下角)>点击你的项目名称>在的任务;android比;双击signingReport

然后你会在4中得到SHA1和其他信息:Run(它会自动出现)。

许多用户给出了他们的答案,在Android Studio 4.2以下的版本中运行良好。但是对于Android Studio 4.2和更新的版本,按照以下步骤生成< >强沙关键< / >强。步骤在这些图片中给出。

<强>步骤:- < / >强

单击gradle。右上角的Android工作室。正如你在这张照片上看到的。

Step1

现在点击图标,如下图所示。一个新的可搜索窗口/屏幕将打开

SHA2

现在输入< >强gradle signingreport < / >强,然后按输入开始生成沙的关键,如下图所示。

sha3

4) 您的SHA密钥将生成如下图所示。使用这些步骤,你可以在Android Studio 4.2中生成SHA KEY

sha4

注意:-如果您无法获得SHA密钥,则按照此回答中给出的说明进行操作。(颤振/反应本机…)

链接:# EYZ0

如果你只想要SHA证书的值,在android文件夹中执行以下命令:

 gradlew signingReport

...这样你就能快速方便地查看你的指纹

对于Android Studio 4.2或new

去右边的Gradle

enter image description here

打开它,然后点击执行Gradle任务,这个锅是打开的 # EYZ0 < / p >

然后你必须输入signingreport并按输入,这将执行命令并提供结果。

为# EYZ0

您可以在旧版本上执行上述所有步骤以获得结果。

在Android studio 4+(不确定版本)中,如果你点击右边栏上的Gradle,它不会显示任何生成签名报告的选项。它会告诉你:enter image description here

点击Task list not built... info,取消选中选项Do not build gradle task list..并保存设置。

enter image description here

然后点击gradle sync按钮: # EYZ0 < / p > 然后你会看到signingreport选项: # EYZ0 < / p >
最近,Android Studio和它的最后一次更新2020.3.1已经从Gradle侧栏中删除了signingReport,但你仍然可以在Android Studio中获得这些细节,只需编写以下命令:

Windows < /强>:< br >

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

# EYZ0: < br >

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

单击左下角的终端图标 # EYZ0 < / p >

CD到android文件夹并运行

gradlew signingreport


一旦完成,它将打印SHA-1、MD5和SHA-256密钥

你可以在android studio中打开终端,然后写这行代码:

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

以上的答案给我一个命令没有发现错误 对我来说正确的终端命令是

./gradlew signingReport

去这个网站自己找吧 # EYZ0 < / p >

method1: ./gradlew signingReport

method2:

    (a) for mac/linux


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








(b) for windows ==>
keytool -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

密码:android

按照以下简单的步骤来获取sha - 1sha - 256 &# EYZ2:

  1. 点击IDE右上角的Gradle。 李# EYZ0 < / > 点击Gradle图标。 李# EYZ0 < / > 打开一个弹出窗口,在Gradle word &后写上signingReport;按回车。 李# EYZ0 < / >
  2. 将生成签名报告。 李# EYZ0 < / >

Using Play App Signing 如果你已经使用Play应用签名发布了你的应用程序,这是使用Android应用程序捆绑时的一个要求,你可以从发布版的谷歌Play控制台获得你的SHA-1;设置在App Integrity页面。

在证书上使用Keytool工具

打开终端并运行Java提供的keytool实用程序,以获取证书的SHA-1指纹。您应该同时获得发布和调试证书指纹。

获取放行证指纹

keytool -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>

获取调试证书指纹。

mac、Linux

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

窗口

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

keytool实用程序提示您为密钥库输入密码。调试密钥库的默认密码是android。然后keytool将指纹打印到终端。例如:

Certificate fingerprint: SHA1:
DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

在APK或AAB上使用Keytool 获取应用程序的证书二进制:

. exe
# APK file
keytool -printcert -jarfile app.apk


# AAB file
keytool -printcert -jarfile app.aab

使用Gradle的签名报告 您还可以使用Gradle signingReport命令获得签名证书的SHA-1:

./gradlew signingReport

签名报告将包括每个应用程序变体的签名信息:

> Task :app:signingReport
Variant: debug
Config: debug
Store: ~/.android/debug.keystore
Alias: AndroidDebugKey
MD5: A5:88:41:04:8D:06:71:6D:FE:33:76:87:AC:AD:19:23
SHA1: A7:89:E5:05:C8:17:A1:22:EA:90:6E:A6:EA:A3:D4:8B:3A:30:AB:18
SHA-256:05:A2:2C:35:EE:F2:51:23:72:4D:72:67:A5:6C:8C:58:22:2
A:00:D6:DB:F6:45:D5:C1:82 :D2:80:A4:69:A8:FE
 

有效期至:2044年8月10日(星期三)

终端类型

# EYZ0

非常重要的

<强>新闻 Ctrl + enter 不能只输入