Bagaimana saya bisa menemukan dan menjalankan keytool


185

Saya membaca panduan pengembangan Pengembang Facebook di sini

Dikatakan bahwa saya harus menggunakan keytool untuk mengekspor tanda tangan untuk aplikasi saya seperti:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Saya tidak tahu bagaimana menemukan keytool untuk menjalankannya. Saya mencoba membuka prompt perintah Windows dan menempelkan perintah di atas, tetapi tidak berhasil.


jika Anda menjalankan sistem berbasis Linux /usr/local/java/bin# ./keytooljika Anda menjalankan Windowsfind the JDK install path and check bin folder
Elshan

saya menemukan ansour ini Anda dapat menggunakannya untuk memecahkan masalah stackoverflow.com/a/57390582/13405428
ashraf alqaabera

Jawaban:


184

Saya menemukan solusi sendiri seperti kutipan di bawah ini. Ini bekerja dengan baik.

"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias
> sociallisting -keystore "D:\keystore\SocialListing"  |
> "C:\cygwin\bin\openssl.exe" sha1 -binary | "C:\cygwin\bin\openssl.exe"
> base64

6
Saya menemukannya di sini: C: \ Program Files \ Java \ jre1.8.0_111 \ bin \ keytool.exe
Jaime Montoya

9
Atau C: \ Program Files \ Android \ Android Studio \ jre \ bin
SHAHM

Terima kasih @SHAHM: bagus untuk kita orang-orang yang tidak ingin mengunduh Java LAGI dan disadap setiap minggu untuk meningkatkan ke versi terbaru.
Pete Alvin

116

Cukup masukkan ini ke dalam command prompt Windows.

cd C:\Program Files\Java\jdk1.7.0_09\bin

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\userName\.android\debug.keystore" -list -v

Kata sandi dasar adalah android

Anda akan disajikan dengan MD5, SHA1dan SHA256kunci; Pilih yang Anda butuhkan.


3
ini bekerja untuk saya. Untuk kunci debug gunakan -alias androiddebugkey.
Broo

Saya menggunakan untuk versi rilis baris berikutnya: 1) cd C: \ Program Files \ Java \ jdk1.8.0_162 \ bin dan selanjutnya 2) keytool -list -v -keystore "C: \ AndroidProjects \ Project1 \ app \ myapp.keystore "
Andrew Grow

2
keytool error: java.lang.Exception: Only one command is allowed: both -exportcert and -list were specified.
Gustaf Liljegren

80

Untuk mendapatkan kode hash kunci Android ikuti langkah-langkah ini (untuk aplikasi facebook)

  1. Unduh openssl untuk windows di sini
  2. sekarang unzip ke drive c
  3. buka cmd prompt
  4. Tipe cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. lalu ketik saja keytool -export -alias myAlias -keystore C:\Users\<your user name>\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
  6. Selesai

Untuk mendapatkan kode Sertifikat sidik jari (MD5) ikuti langkah-langkah ini

  1. pergi ke - C: \ Program Files \ Java \ jdk1.6.0_26 \ bin
  2. di dalam folder bin jalankan jarsigner.exe file
  3. buka cmd prompt
  4. Tipe cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. sekali lagi ketik cmd keytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"
  6. itu akan meminta kata sandi Keystore sekarang. Defaultnya adalah "android " ketik dan masukkan
  7. Selesai

Ini berhasil bagi saya sampai langkah terakhir. Setelah mengetikkan "android" itu memuntahkan sampah ... tebakan saya apakah itu tidak menggunakan pengkodean yang tepat? Jika saya memasukkan sesuatu seperti "bla", itu memberitahu saya kata sandi itu salah. Jadi ia tahu saya memiliki kata sandi yang benar ketika saya mengetikkan "android"
ArtOfWarfare

Saya menemukan masalah adalah saya telah meninggalkan bendera -daftar dan -v
ArtOfWarfare

21

keytool adalah bagian dari JDK.

Cobalah untuk menambahkan %{JAVA_HOME}\ke pernyataan exec atau c:\{path to jdk}\bin.


Saya meletakkan file cer dan file truststore di direktori yang sama dan menggunakan perintah ini:"%JAVA_HOME%\bin\keytool" -import -keystore truststore -file certificate.cer -alias my-alias
Todd Hale

13

KeyTool adalah bagian dari JDK. Anda akan menemukannya, dengan asumsi Anda menginstal JDK dengan pengaturan default, di$JAVA_HOME/bin


9

Robby PondJawabannya dapat digeneralisasi untuk menggunakan JAVA_HOMEvariabel lingkungan dan juga untuk mengkompensasi setiap kekosongan yang mungkin terjadi di jalan (seperti Program Files):

"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

4

keytool adalah bagian dari jdk, seharusnya $ JAVA_HOME / bin / keytool


4

Keytool adalah bagian dari Java SDK. Anda harus dapat menemukannya di direktori Java SDK Anda mis. C: \ Program Files \ Java \ jdk1.6.0_14 \ bin


4

Pada jendela cmd (perlu dijalankan sebagai Administrator),

cd %JAVA_HOME% 

hanya berfungsi jika Anda telah mengatur variabel lingkungan sistem Anda JAVA_HOME. Untuk mengatur variabel sistem Anda untuk jalur Anda, Anda dapat melakukan ini

setx %JAVA_HOME% C:\Java\jdk1.8.0_121\

Lalu, Anda bisa mengetik

cd c:\Java\jdk1.8.0_121\bin

atau

cd %JAVA_HOME%\bin

Kemudian, jalankan perintah yang disediakan oleh JAVA jdk, seperti

keytool -genkey -v -keystore myapp.keystore -alias myapp

Anda hanya perlu menjawab pertanyaan (setara dengan mengetik nilai pada cmd line) setelah menekan enter! Kuncinya akan dihasilkan


3

keytool terletak di direktori bin JDK ($ JAVA_HOME / bin). JAVA_HOME adalah direktori instalasi JDK Anda. Untuk menggunakan baris perintah itu, Anda juga harus memasukkan $ JAVA_HOME / bin ke variabel lingkungan PATH Anda.


3

Android: tempat menjalankan perintah keytool di android

Perintah keytool dapat dijalankan pada prompt perintah dos Anda, jika JRE telah diatur dalam variabel classpath Anda.

Misalnya, jika Anda ingin mendapatkan Sidik Jari MD5 dari Sertifikat Debug SDK untuk android,

jalankan saja perintah berikut ...

C:\Documents and Settings\user\.android>  keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

di mana C:\Documents and Settings\user\.android>jalur yang berisi debug.keystoreyang harus disertifikasi.

Untuk informasi terperinci, silakan kunjungi http://code.google.com/android/add-ons/google-apis/mapkey.html#getdebugfingerprint


3

Tergantung pada versi Eclipse Anda (saya menggunakan Kepler). Buka Windows> Preferensi> Android> Bangun.

Anda akan menemukan jalur lokasi keystore debug Anda serta sidik jari SHA1 (yang bisa Anda salin dan gunakan)


3

Saya menemukan ini di pos lain, yang tidak mendapatkan banyak upvotes, tapi itu sangat membantu bagi saya. Jadi akan menambahkannya di sini.

Android Studio akan membawa keytool dengannya.

C:\Program Files\Android\Android Studio\jre\bin

Anda dapat melihat posnya di bawah ini oleh Richar Heap, dengan referensi yang bermanfaat. Saya memang melihat ini sebelumnya tetapi lupa tentang itu. https://stackoverflow.com/a/51524526/4446406


2

KEYTOOL ada di JAVAC SDK. Jadi, Anda harus menemukannya di dalam direktori yang berisi javac


2

Jika Anda menginstal visual studio dengan dukungan pengembangan Xamarin / seluler, Anda akan menginstal java di sini C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\, seperti kasus saya.


1

keytooldatang dengan JDK. Jika Anda menggunakan cygwin maka ini mungkin sudah di jalur Anda. Kalau tidak, Anda mungkin menggali di dalam folder bin JDK Anda.

Anda mungkin harus menggunakan cygwin untuk pipa shell ( |) agar berfungsi.


Bisakah Anda memberi tahu saya cara menjalankan perintah di bawah ini? keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | openssl sha1 -binary | openssl base64
Nguyen Minh Binh

1
Ya saya lakukan. dan ketika saya menjalankan perintah di atas, CMD mengatakan: 'openssl' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dijalankan atau file batch.
Nguyen Minh Binh

Anda mungkin perlu menginstal paket openssl juga melalui pengaturan cygwin.
Matthew Willis

1
Saya sudah menginstal paket openssl. Masalahnya masih terjadi :(
Nguyen Minh Binh

Bisakah Anda menjalankan openssl dengan sendirinya? Opsi apa yang Anda lihat ketika Anda mengetik "terbuka" dan tekan tab?
Matthew Willis

1

Beberapa pengamatan saat saya mendapatkan masalah yang sama (Windows). 1. Pipa shell itu penting. 2. Jika Anda menggunakan OpenSSL atau Cygwin, pasti Anda harus menginstalnya. 3. keytool datang dengan JDK sehingga Anda harus mengarahkannya ke dalam perintah atau Anda memiliki cd ke folder JDK / bin (di mana exe berada) 4. Keystore debug biasanya terletak di ~ / .android / debug.keystore 5. kata sandi adalah "android" baik Anda memotong atau mengetiknya saat diminta. 6. Untuk nama alias, Anda dapat membuka (JANGAN HEMAT, cukup buka dan tutup) file keystore dengan editor apa pun dan bacalah. 7. PALING PENTING - Ada perbedaan dalam menentukan jalur keystore di dalam tanda kutip dan tanpa tanda kutip. Saya mendapatkannya bekerja dengan menggunakan jalur keystore di dalam tanda kutip ganda. Seperti remix090378 mengatakan dan sesuai instruksi, perintah ini memang berhasil - cd C: \ Program Files \ Java \ jdk1.7.0_09 \ bin

keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ userName.android \ debug.keystore" -list -v


0

Dalam kasus saya, saya sudah membuat file APK menggunakan perintah ionic cordova build android --proddan saya perlu mendapatkan sidik jari SHA-1 untuk file APK yang sudah ada. Inilah cara saya mendapatkannya dengan menjalankan perintah berikut di direktori App:

keytool -list -printcert -jarfile app-debug.apk

Jadi, pada dasarnya saya menjalankan perintah di atas di lokasi aplikasi berikut:

C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apk

Ini memberi saya sidik jari SHA1 sebagai: 7B:6B:AD:...

Semoga ini bisa membantu seseorang!


0

Karena Anda telah menginstal Java dan lebih disukai JDK di sistem Anda (menjawab untuk Windows karena Anda menyebutkannya dalam pertanyaan Anda), Anda harus memiliki utilitas keytool pada binfolder instalasi Anda .

Jika itu masalahnya, apa yang dapat Anda lakukan selanjutnya adalah menambahkan folder bin itu ke PATHvariabel lingkungan instalasi Windows Anda.

Lain kali Anda akan membuka shell Windows dan Anda akan mengetik keytoolAnda akan dapat menjalankan utilitas yang sebenarnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.