Làm cách nào để lấy chứng chỉ vân tay SHA-1 trong Android Studio cho chế độ gỡ lỗi?


493

Tôi đã chuyển mình từ Eclipse sang Android Studio . Bây giờ tôi đang cố gắng làm việc trên ứng dụng Bản đồ của mình. Vì vậy, tôi cần số chứng nhận dấu vân tay SHA-1 của tôi.

Khi tôi đang sử dụng Eclipse, nó nằm ngay trong Windows -> Preferences -> Android -> Build . Nhưng trong Android Studio, tôi không thể tìm thấy bất kỳ tùy chọn nào như thế này để tôi có thể dễ dàng tìm thấy dấu vân tay. Tôi đang sử dụng Windows. Tôi đã đọc từ liên kết này rằng:

Android Studio tự động đăng ký ứng dụng của bạn ở chế độ gỡ lỗi khi bạn chạy hoặc gỡ lỗi dự án của bạn khỏi IDE.

Vì vậy, tôi đã cố chạy nó trong dòng lệnh sau khi đặt đường dẫn thùng Java của tôi từ liên kết này và không may không thể tìm thấy dấu vân tay của tôi. Nó nói rằng đó là một lựa chọn bất hợp pháp .

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

Có cách nào để tìm dấu vân tay SHA-1 từ Android Studio như rất dễ dàng trong Eclipse không? Khi tôi là người mới trong Android Studio, toàn bộ quá trình để tìm thấy nó là gì?

Một điều nữa tôi muốn thêm là tôi có Eclipse tạo ra dấu vân tay SHA-1 và trước đây tôi đã đăng ký ứng dụng của mình trên dấu vân tay đó trong bảng điều khiển dành cho nhà phát triển của Google và tôi đã làm việc với ứng dụng đó trong Eclipse bằng khóa API đó. Có phải khóa API tương tự có thể được thực hiện trong dự án này của tôi trong Android Studio không?


1
Cách dễ nhất để có được SHA-1 cho bản phát hành và chế độ gỡ lỗi android studio. Kiểm tra cái này
Naeem Ibrahim

Câu trả lời:


1255

Cách dễ nhất từng có:

Đã thêm cập nhật cho Android Studio V 2.2 ở bước cuối cùng

Có hai cách để làm điều này.

1. Cách nhanh hơn :

  1. Mở Android Studio
  2. Mở dự án của bạn
  3. Nhấp vào Gradle (Từ Bảng điều khiển bên phải, bạn sẽ thấy Gradle Bar )
  4. Nhấp vào Làm mới (Nhấp vào Làm mới từ Thanh Gradle , bạn sẽ thấy Danh sách các tập lệnh Gradle của Dự án của bạn)
  5. Nhấp vào Dự án của bạn ( Danh sách biểu mẫu tên dự án của bạn (root))
  6. Bấm vào Nhiệm vụ
  7. Bấm vào Android
  8. Nhấp đúp chuột vào SignReport (Bạn sẽ nhận được SHA1MD5 trong Run Bar (Đôi khi, nó sẽ nằm trong Bảng điều khiển Gradle))
  9. Chọn mô-đun ứng dụng từ danh sách lựa chọn mô-đun để chạy hoặc gỡ lỗi ứng dụng của bạn

Kiểm tra ảnh chụp màn hình dưới đây:

nhập mô tả hình ảnh ở đây

2. Hoạt động với Google Maps Hoạt động :

  1. Mở Android Studio
  2. Mở dự án của bạn
  3. Nhấp vào menu Tệp -> Chọn Mới -> Nhấp vào Google -> Chọn Hoạt động của Google Maps
  4. Một hộp thoại sẽ xuất hiện -> Nhấp vào Kết thúc
  5. Android Studio sẽ tự động tạo ra một XML tập tin được đặt tên vớigoogle_maps_api.xml
  6. Bạn sẽ nhận được khóa gỡ lỗi SHA1 tại đây (tại dòng số 10 của tệp XML)

Kiểm tra ảnh chụp màn hình bên dưới:

Nhập mô tả hình ảnh ở đây

Cập nhật Android Studio V 2.2

Có vấn đề với Thi hành .

Giải pháp:

  • Nhấp vào Toggle nhiệm vụ thực thi / chế độ văn bản từ thanh Run

Kiểm tra ảnh chụp màn hình bên dưới:

nhập mô tả hình ảnh ở đây

Làm xong.


6
Tuyệt vời :) nhưng tôi có thể sử dụng SHA1 này (Được sản xuất như bạn mô tả) trong Bảng điều khiển dành cho nhà phát triển của Google để tạo Thông tin xác thực cho ứng dụng của mình không? Bởi vì trong cửa sổ (Báo cáo ký) nó nói (config: debug) không phát hành chế độ?
Ashraf Alshahawy

2
Rất vui khi có cách để tìm thấy nó không liên quan đến dòng lệnh.
Androidcoder

2
bạn là thằng nhóc này hoạt động hoàn hảo vì tôi không thể tìm thấy debug.keystore trong thư mục .android của tôi @HirenPatel
Manny265

2
Để phát hành SHA1 cho kho khóa, vui lòng tham khảo stackoverflow.com/questions/15727912/ Khăn một
Hiren Patel

12
Kể từ Android Studio 2.2, nó xuất hiện trong bảng điều khiển Gradle không chạy
adsamcik

296

Vấn đề của tôi cũng giống như tôi cũng đã chuyển dự án Google Maps của mình từ Eclipse sang Android Studio . Tôi đã giải quyết vấn đề của mình bằng cách làm theo:

Chuyển đến thư mục bin Java của bạn thông qua lệnh:

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

Bây giờ gõ lệnh dưới đây trong cửa sổ lệnh của bạn (CMD.EXE):

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

Thí dụ:

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

Hoặc bạn chỉ có thể viết điều này bằng cmd nếu bạn không biết tên người dùng:

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

Và bạn sẽ nhận được SHA1.

Sau đó, tôi đã tạo một khóa mới từ https://code.google.com.vn/apis/console vì tên gói của tôi đã bị thay đổi và sau đó sử dụng khóa này trong ứng dụng của tôi. Nó hoạt động tốt.

Hãy chắc chắn rằng bạn đang ở trong thư mục BIN của jdkX.X.X_XX (tên thư mục của tôi là jdk1.7.0_71) , nếu không bạn không biết tên thư mục nào bạn sẽ tìm thấy nó bằng cách mở thư mục Java và bạn sẽ thấy tên thư mục là gì, nhưng bạn phải ở trong thư mục BIN và sau đó chạy lệnh này. Hôm nay tôi đã nhận được giá trị SHA1 của mình trong cửa sổ lệnh cmd theo quy trình trên.

SNAPSHOT:

Nhập mô tả hình ảnh ở đây


1
keytool -list -v -keystore "% USERPROFILE% \. android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android Thay vì nhập tên người dùng của riêng bạn

Có nhưng như "keytool -list -v -keystore"% USERPROFILE% \. Android \ debug.keystore "-alias androiddebugkey -storepass android -keypass android" đã được hiển thị trong nhiều ví dụ trong stack overflow ... tôi chỉ muốn để đưa ra một ví dụ khác.
Jamil

1
Tôi không thể sao chép SHA1 từ CMD vì vậy tôi đã chuyển toàn bộ đầu ra của lệnh đã cho của bạn sang một tệp bằng cách thêm: > output.txtđằng sau lệnh của bạn. Bạn cũng có thể thêm | clipphía sau lệnh. Bạn sẽ nhận được đầu ra của lệnh trong Clipboard Windows của bạn. Tôi hy vọng nó cũng tiết kiệm thời gian cho người khác. Thông tin thêm về việc sử dụng | clip
Sjoerd Pottuit

1
@SPottuit: Mẹo thú vị cho clip.exe, không biết nó tồn tại, cảm ơn. Ngoài ra, việc xóa -vsẽ chỉ cung cấp cho bạn SHA1 dưới dạng đầu ra hoặc trên Windows, bạn có thể chuyển đầu ra từ -v đến| find "SHA1" | clip
Dan Dar3 22/03/2016

131

Đối với Mac, điều này hoạt động hoàn hảo:

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

cũng tốt cho tôi
Ranjith Kumar

112

Tôi vừa tìm thấy trường hợp nhận SHA-1 trong Android Studio:

  1. Nhấp vào gói của bạn và chọn Mới -> Google -> Hoạt động của Google Maps
  2. Android Studio chuyển hướng bạn đến google_maps_api.xml

Và bạn sẽ thấy tất cả những gì bạn cần để có được google_maps_key.

Hình ảnh


1
Tôi đã tìm thấy Sha1 nhưng nó làm tôi khó xử với dự án, nó nói "Lỗi: ngoại lệ trong khi làm việc với hệ thống bên ngoài:" và thay đổi tất cả cấu trúc trong dự án của tôi .... Cảm ơn !!! chẳng để lam gi!!! Tôi nghĩ rằng không có cách nào để lấy lại.
dùng3050757

41

Giải pháp tốt nhất để tạo khóa SHA-1 cho Android là từ Android Studio .

Nhấp vào Gradle ở phía bên phải:

Nhấp vào biểu tượng làm mới và bạn sẽ thấy tên của ứng dụng:

Nhấp vào Nhiệm vụ -> Báo cáo -> Báo cáo ký :

Tìm phím SHA-1 ở phần dưới cùng trong bảng điều khiển:


Cảm ơn vì điều này! Không có lựa chọn thay thế nào khác hoạt động, và điều này thực sự thậm chí còn đơn giản hơn.
Kebman

Cảm ơn bạn rất nhiều!
H Biến Sharma

Trên Android 3.1.4: Nhiệm vụ -> android -> SignReport
Mete

câu trả lời hay nhất
Nurseyit Tursunkulov

36

[Cập nhật 2017]

Bước 1: Trên cùng bên phải của Android Studio Nhấp vào tùy chọn Gradle.

Android Studio Nhấp vào tùy chọn Gradle

Bước 2:

- Nhấp vào Làm mới (Nhấp vào Làm mới từ Thanh Gradle, bạn sẽ thấy Danh sách các tập lệnh Gradle của Dự án của bạn)

- Nhấp vào Dự án của bạn (Danh sách biểu mẫu tên dự án của bạn (root))

- Nhấp vào Nhiệm vụ

- Nhấp vào Android

- Nhấp đúp chuột vào SignReport (Bạn sẽ nhận được SHA1 và MD5 trong Bảng điều khiển Gradle / Thanh chạy)

nhập mô tả hình ảnh ở đây

Bước 3: Nhấp vào tùy chọn Gradle Console ở dưới cùng của Android Studio để xem Khóa SHA1 của bạn.

nhập mô tả hình ảnh ở đây

Bước 4: Bây giờ bạn đã có khóa SHA nhưng bạn không thể chạy dự án của mình. Đó là lý do Thay đổi cấu hình của bạn sang chế độ ứng dụng. Xem hình ảnh dưới đây.

nhập mô tả hình ảnh ở đây

Như thế này.

nhập mô tả hình ảnh ở đây

Bước 5: Mã hóa hạnh phúc !!


21

Tôi đang đi với câu trả lời @Hiren Patel nhưng thay đổi một chút trong studio android 2.2

nhập mô tả hình ảnh ở đây


tôi không thể tìm thấy chuyển đổi này trong studio android 2.2.2
Zeeshan Shabbir

Bạn đã làm theo từng câu trả lời của @hiren Patel chưa ??
Arpit Patel

20

Dành cho Linux và Mac

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

@vicky Ví dụ vui lòng .. /home/desktop/././. , abc.jks, mật khẩu n tất cả, chúng ta có cần tất cả các chi tiết này không ??
Prabs

@prabs, tôi không thể có được bạn. bạn có thể giải thích thêm một chút không?
Vicky

@vicky chúng ta cần chỉnh sửa lệnh trước khi thực hiện nó .. Nếu có, thì chúng ta nên cung cấp chi tiết nào. Đó là truy vấn của tôi.
Hà Lan

1
@prabs, bạn không cần cung cấp thêm thông tin nào cho khóa gỡ lỗi, Bạn chỉ cần thực hiện lệnh trên trong thiết bị đầu cuối linux của mình.
Vicky

14
  1. Nhấp vào Biểu tượng Gradle trong Ngăn Phải.
  2. Nhấp vào Tên dự án gốc.
  3. Nhấp vào Nhiệm vụ
  4. Nhấp vào Android
  5. Nhấp vào Đăng nhập
  6. ở ô dưới cùng nơi bạn thấy Chạy báo cáo
  7. Nhấp vào "Chuyển đổi nhiệm vụ / chế độ văn bản"
  8. bạn có thể thấy sha-1

Studio Android SHA-1


1
Cảm ơn. làm việc tuyệt vời / tôi không biết tôi phải chuyển nó.
Raul

12

Tôi đã làm theo cách này:

Bước 1: Chuyển đến thư mục này

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

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

On Linux: ~/.android/

Bước 2: Chạy dòng lệnh này:

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

Bạn sẽ thấy phím SHA-1.


/Users/<username>cho Mac là thư mục nhà của người dùng, vì vậy ~có thể sử dụng phím tắt, giống như choLinux
user28434

cảm ơn sự giúp đỡ của bạn.
Aoun

11

Tôi trực tiếp sử dụng lệnh sau từ máy Mac của mình bằng thiết bị đầu cuối. Tôi đã nhận được ngón tay SHA1. Đây là lệnh:

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

Nó cũng hoạt động cho windows cũng cmd là: keytool -list -v -keystore% USERPROFILE% \. android \ debug.keystore -alias androiddebugkey -storepass android -keypass android
Hanuman

9

Để nhận SHA1 cho kho khóa sản xuất:

  1. Xây dựng -> Tạo APK đã ký ...

  2. Tạo kho khóa bằng mật khẩu và làm theo các bước

  3. Chuyển đến Mac / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk / Nội dung / Trang chủ / bin và kéo thư mục bin vào thiết bị đầu cuối sau lệnh cd để trỏ vào nó để bạn có thể sử dụng công cụ keytool. Vì vậy, trong terminal write cd(kéo bin ở đây), sau đó nhấn enter.

  4. Sau đó, sao chép và dán cái này vào terminal:

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

    Xóa đường dẫn của tôi và đi đến nơi bạn lưu trữ kho khóa của bạn và kéo keystone của bạn và thả nó sau -keystoredòng lệnh để đường dẫn sẽ được tạo.

    Ngoài ra, xóa Your_keystore_AliaseName để đặt tên keystone bí danh của bạn mà bạn đã sử dụng khi bạn tạo nó.

  5. Nhấn Entervà nhập mật khẩu :)

  6. Khi bạn nhập mật khẩu, thiết bị đầu cuối sẽ không hiển thị rằng nó nhận được các mục bàn phím, nhưng thực tế là vậy, vì vậy hãy đặt mật khẩu và nhấn Enterngay cả khi bạn không thấy mật khẩu được gõ.


bạn đã nhận được THANK SO MUCHgiải thưởng của tôi cho When you enter the password, the terminal won't show that it receives keyboard entries, but it actually does.
Farid

7

Nó rất dễ dàng trong Gnu / Linux - Mac - Windows

Đầu tiên: - sao chép lệnh này

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

Thứ hai: Bây giờ sao chép và dán lệnh trong thiết bị đầu cuối Android Studio nhập mô tả hình ảnh ở đây

Kết quả!

nhập mô tả hình ảnh ở đây

Chúc may mắn!!


7

Nếu bạn đang sử dụng Android Studio, bạn có thể lấy dấu vân tay chứng chỉ SHA-1 và MD5 (gỡ lỗi, phát hành ... tất cả các loại bản dựng !!) thông qua Nhiệm vụ cấp độ :

ký kết

Chứng chỉ SHA-1 và MD5 được hiển thị trong Nhật ký tin nhắn .

Plugin Android (được định cấu hình trong ứng dụng Gradle) tạo chế độ gỡ lỗi theo mặc định.

com.android.application

Định tuyến tệp đến kho khóa:

HOME/.android/debug.keystore

Tôi khuyên bạn nên đính kèm debug.keystore để build.gradle. Để thực hiện việc này, hãy đặt một tệp, debug.keystoretrong thư mục ứng dụng và sau đó Thêm SigningConfigs trong ứng dụng Gradle :

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"
            }
        }
        ........
    }

Bổ sung: Nếu bạn muốn tạo để phát hành, hãy đặt một tệp release.keystore, trong một thư mục ứng dụng. (Ví dụ này sử dụng tương tự debug.keystore.)


1
Tôi đã làm những gì bạn nói ở trên nhưng tôi không nhận được bản phát hành SHA1, vì bản phát hành nó trả lại cho tôi: Biến thể: phát hành Cấu hình: không
Ashraf Alshahawy

Menu AndroidStudio: xây dựng / tạo apk đã ký và tạo tệp mới. Sau khi thay đổi SignConfig> phát hành trên build.gradle (ở trên)
SergioLucas

6

Nếu bạn có Android Studio thì nó rất rất đơn giản. Chỉ cần tạo MapActivity bằng Android Studio và sau khi tạo, hãy truy cập google_maps_api.xml. Trong đó sẽ có một liên kết được đưa ra trong các ý kiến. Nếu bạn dán nó vào trình duyệt của mình, nó sẽ yêu cầu một vài chi tiết được điền vào và sau đó API của bạn sẽ được tạo. Không cần sử dụng keytool và tất cả.

Ảnh chụp màn hình:

Nhập mô tả hình ảnh ở đây


Nhưng điều này sẽ chỉ làm việc để gỡ lỗi. Bạn phải tự xác định dấu vân tay phát hành.
Hyndrix 11/05/2015

@Hyndrix làm thế nào để bạn xác định thủ công dấu vân tay phát hành?
Micro

Đây là một bước hoàn toàn không cần thiết. Không cần phải tạo MapActivity chỉ cho việc này. Bạn chỉ cần xem trong Dự án Gradle> ứng dụng> Nhiệm vụ> android> SignReports và xem kết quả trong Bảng điều khiển Gradle trong SHA1.
Kebman

5

Điều này hoạt động trong trường hợp của tôi: Sử dụng % USERPROFILE% thay vì đưa ra tệp .keystore đường dẫn được lưu trữ trong đường dẫn này tự động C: Người dùng / tên người dùng / .android :

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

5

Sử dụng lệnh đơn giản:

keytool -exportcert -keystore đường dẫn đến gỡ lỗi-hoặc-sản xuất-keystore -list -v

và bạn sẽ nhận được khóa SHA1.


4

Đối với Windows 10 , từ thiết bị đầu cuối Android Studio :

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

Lưu ý: Đối với debug.keystore, mật khẩu là "android". Kho khóa gỡ lỗi thường được đặt tại "%USER_PROFILE%"/.android/debug.keystore.


4

Tôi muốn thêm một điều với câu trả lời được đưa ra bởi Softcoder . Tôi đã thấy một số người không thể đưa ra đường dẫn debug.keystore của họ một cách chính xác trên command line. Họ thấy rằng họ đang thực hiện quy trình chính xác được chấp nhận ở trên, nhưng nó không hoạt động. Tại thời điểm đó, hãy thử kéo debug.keystore và thả nó vào dòng lệnh. Nó sẽ giúp nếu câu trả lời được chấp nhận không hiệu quả với bạn. Làm quá trình đầy đủ mà không có bất kỳ do dự. Đó là một câu trả lời tốt đẹp.


4

Tôi đã tìm thấy một quy trình rất dễ dàng để tìm thấy dấu vân tay MD5, SHA-1 của bạn bằng Android Studio.

  1. Chạy dự án của bạn
  2. Chuyển đến Menu Gradle (Menu: View -> Tool Windows -> Gradle)
  3. Đi đến 'SignReport' trong cửa sổ Gradle. (Dự án của bạn -> Nhiệm vụ -> android -> SignReport)
  4. Chạy nó (Sử dụng nhấp đúp hoặc Ctrl + Shift + F10)
  5. Trong cửa sổ Run, bạn sẽ tìm thấy tất cả các thông tin.

Nó chỉ hoạt động cho chế độ gỡ lỗi. Trong chế độ realease tôi không thể thấy sha-1. Đây là kết quả củagradlew 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
----------

Vì vậy, tôi phải sử dụng keytool để có được sha-1. Đây là tài liệu chính thức của Firebase:

Get_sha-1_for_release


3

Nhấp vào biểu tượng Gradle trên bảng bên phải, sau đó nhấp vào (root).

Nhiệm vụ> android> SignReport

Sau đó, tập lệnh Gradle sẽ thực thi và bạn sẽ thấy các khóa của mình.


3

Đơn giản, Gọi phương thức này trong Màn hình Splash của bạn: hash () và getCert veSHA1Fingerprint (), sau đó các phím sẽ hiển thị trong nhật ký

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ảm ơn bạn.


2

Sử dụng các hướng dẫn từ Trình quản lý API bằng keytool:

Lấy tên gói từ tệp AndroidManifest.xml của bạn. Sau đó sử dụng lệnh sau để lấy dấu vân tay:

keytool -list -v -keystore mystore.keystore


1

Bạn có thể sử dụng lệnh sau và thay đổi AJAY SUNDRIUAL bằng tên hệ thống của mình. Cái này chỉ dành cho debug.keystore. Cái này sẽ phù hợp với bạn.

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

1

Điều này làm việc cho tôi:

keytool -exportcert -alias androiddebugkey -keystore

Đặt đường dẫn đến gỡ lỗi hoặc sản xuất khóa tại đây như C: \ users \ youruser.android \ debug.keystore -list -v

Hãy chắc chắn rằng bạn đã ở trong Java\jdk*\binthư mục trong một cửa sổ lệnh hoặc terminal.

Sau đó sử dụng Android làm mật khẩu.

Đôi khi tài nguyên web có thể gây hiểu nhầm. Đây là những người làm việc:


1

Đường dẫn của kho khóa nằm trong dấu ngoặc kép. Nó đang hoạt động tốt.

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


1

Khi tạo "Dự án Google Maps" mới, trong Android Studio V 1.5.1, màn hình cuối cùng sẽ mở ra google_maps_api.xml tệp và hiển thị màn hình theo hướng dẫn như sau:

Tài nguyên:

TODO: Trước khi bạn chạy ứng dụng của mình, bạn cần khóa API Google Maps.

Để có được một, hãy theo liên kết này, làm theo chỉ dẫn và nhấn "Tạo" ở cuối:

https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r= SHA-1 + TÊN GÓI CỦA BẠN

Bạn cũng có thể thêm thông tin đăng nhập của mình vào khóa hiện có, sử dụng dòng này:
SHA-1: TÊN GÓI CỦA BẠN

Ngoài ra, hãy làm theo các hướng dẫn tại đây:
https://developers.google.com/maps/documentation/android/start#get-key

Khi bạn có khóa của mình (bắt đầu bằng "AIza"), hãy thay thế chuỗi "google_maps_key" trong tệp này.
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR GOOGLE MAPS KEY</string>

Để nhận được GOOGLE MAPS KEY của bạn, chỉ cần cắt và dán liên kết URL được cung cấp vào trình duyệt của bạn và làm theo các hướng dẫn ở trên tại thời điểm tạo ứng dụng mới. Các SHA-1Package namesđã có trong liên kết được cung cấp để bạn không cần biết chúng. Tuy nhiên, chúng sẽ nằm trong dự án của bạn trong resources>Values>google_maps_api.xmltệp được hoàn thành khi bạn làm theo hướng dẫn tạo dự án.


1
  • Đi đến Tệp> Cấu trúc dự án Chọn apphoặc mobilebất cứ điều gì bạn đã đặt tên từModules

  • Chọn Signingtab.

  • Bạn có thể thêm chứng chỉ nhấp vào +nút.


Bạn có thể vui lòng chỉ cho tôi chi tiết bước bằng cách đưa ra bất kỳ ví dụ ??
Setu Kumar Basak

0

Cách dễ nhất để có được dấu vân tay là chuyển từ ứng dụng sang báo cáo đã ký bằng cách nhấp vào thả xuống và nhấp vào xây dựng.

nhập mô tả hình ảnh ở đây

Sau đó, bạn sẽ có thể thấy dấu vân tay sha1 ở khung bên dưới nơi bạn thấy báo cáo gỡ lỗi và theo dõi ngăn xếp. NB nhớ quay lại ứng dụng khi bạn muốn chạy ứng dụng của mình trên thiết bị hoặc trình giả lập.


Đây có thể là một điểm tốt nhưng tôi không hiểu ý bạn là gì.
nyxee
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.