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.

Nguyen Minh Binh
sumber
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
Nguyen Minh Binh
sumber
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.

remix090378
sumber
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
noelyahan
sumber
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.

Robby Pond
sumber
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

Chris Cashwell
sumber
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
Alexei
sumber
4

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

James.Xu
sumber
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

2ard
sumber
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

Jenna Leaf
sumber
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.

Roman Mazur
sumber
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

Anda telah
sumber
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)

GraSim
sumber
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

Gareth
sumber
2

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

suba
sumber
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.

Nieminen
sumber
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.

Matthew Willis
sumber
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

Zeena
sumber
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!

Devner
sumber
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.

Christos Alexiou
sumber