EROR: 'keytool' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dioperasikan atau file batch

145

Saat saya menggunakan perintah

C:\>keytool -list -alias androiddebugkey 
            -keystore .android\debug.keystore 
            -storepass android -keypass android

Saya mendapatkan kesalahan ini:

'keytool' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dioperasikan atau file batch.

Saya tidak bisa mendapatkan sidik jari sertifikat (MD5) di komputer saya.

Saya telah memastikan bahwa file keystore ada di lokasi yang sesuai.

Ada bantuan?

Shalini
sumber

Jawaban:

227

Periksa apakah direktori tempat keytool dapat dieksekusi berada di %PATH%variabel lingkungan Anda .

Misalnya, pada mesin Windows 7 saya, itu dalam C:\Program Files (x86)\Java\jre6\bin, dan saya%PATH% variabel terlihat seperti C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(dan banyak entri lainnya)

Ben Williams
sumber
saya memasukkan C: \ Program Files \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. kesalahan yang saya dapatkan adalah kesalahan keytool: java.lang.Exception: File keystore tidak ada: .android \ debug .keystore
Shalini
Jika Anda melakukan itu, itu akan mencari keystore C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystoreyang hampir pasti bukan jalur yang benar. Anda harus memberikan lokasi lengkap yang benar ke keystore Anda.
Ben Williams
1
file keystore ada di sini C: \ Documents and Settings \ Shalini \ .android> jadi ketika saya masuk C: \ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. Saya mendapatkan kesalahan yang sama 'keytool' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dioperasikan atau file batch.
Shalini
16
CobaC:\Program Files\Java\jdk1.6.0_21\bin\keytool -list -alias androiddebugkey -keystore C:\Documents and Settings\Shalini\.android\debug.keystore -storepass android -keypass android
Ben Williams
1
ok saya masuk ini C: \ Documents and Settings \ Shalini \ .android> C: \ Program Files \ Java \ jdk1.6.0_21 \ bin \ keytool -list -alias androiddebugkey -keystore C: \ Documents and Settings \ Shalini \ .android \ debug.keystore -storepass android -keypass android. kesalahannya adalah sintaks nama file, nama direktori, atau label volume salah.
Shalini
96

Ini berhasil untuk saya !! :

Pergi ke jalur ini atau di mana pun Anda memiliki file keytool.exe Anda

C:\Program Files\Java\jre7\bin

Tahan shiftdan klik kanan -> lalu tekanOpen command window here

terminal akan muncul, tempel ini di:

keytool -list -v -keystore "C:\Users\"Your-User-Name(no quotes)"\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

memberi Anda MD5 dan SHA1

Jakob
sumber
Ini berfungsi tetapi jawaban @ Amt87 akan memastikan Anda memiliki keytool tersedia di direktori manapun tanpa harus cd pertama ke direktori di mana keytool berada (hanya windows). di OS X (Mac), edit profil. Anda dan pastikan untuk menyertakan: $ PATH di bagian akhir atau Anda tidak akan memiliki perintah. (lihat arsitektryan.com/2012/10/02/… )
tricknology
71

Menemukannya.

PERGI KE:

my computer->rightClick->properties->Advanced system settings->environment variables->find path in system variables->dbl click-> paste the "C:\Program Files\Java\jdk1.6.0_16\bin"->OK

PERGI KE:

cmd -> keytool -list -alias androiddebugkey -keystore "C:\Users\meee\.android\debug.keystore" -storepass android -keypass android
Amt87
sumber
11
  1. Buka Komputer saya -> klik kanan -> properti sistem -> variabel lingkungan -> Jalur -> tambahkan Anda jdk / bin ke jalur ini

    C:\Program Files\Java\jdk1.8.0_211\bin
    

* jika ini tidak berhasil maka

  1. Di cmd atur jalur dengan menggunakan perintah di bawah ini

    set PATH=C:\Program Files\Java\jdk1.8.0_211\bin
    

sekarang jalur sudah diatur sekarang Anda dapat menggunakan keytool

MANOJ G
sumber
Terima kasih, di Windows 10 saya mencoba solusi pertama dan karena beberapa alasan tidak berhasil. Yang kedua bekerja dengan baik.
NineCattoRules
Terima kasih. Opsi kedua berfungsi untuk saya di Windows 10 x64
mdhz
10

Jadi jika Anda memiliki struktur berikut sekarang:

 C:\Program Files\Java\jre6\bin\
                                keytool.exe
                                debug.keystore

lalu jalankan:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 
Zh. Atanasov
sumber
Saya memiliki jdk-13 .. tidak memiliki file jre. Bagaimana saya bisa mengatasinya
raman raman
Arahkan ke C:\Softwares\jdk1.8.0_261\jre\binfolder.
Dilip Meghwal
9

Pada windows 8, buka C: \ Program Files \ Java \ jre7 \ bin dan di address bar, ketik "cmd" tanpa tanda kutip. Ini akan meluncurkan terminal. Kemudian ketik string seperti yang dijelaskan di sini .

Neutrino
sumber
5

Pastikan JAVA_HOME disetel dan jalur di variabel lingkungan mencerminkan direktori bin JAVA_HOME. Pada dasarnya, PATH harus dapat menemukan file keytools.exe di lokasi jdk Anda.

Sharan Rajendran
sumber
5

semua yang dapat Anda lakukan adalah menavigasi ke tujuan jre Anda di komputer Anda melalui baris perintah dan kemudian setelah Anda mencapai bin, Anda mengetik perintah keytool dan itu akan berfungsi.

C:\Program Files (x86)\Java\jre7\bin>
C:\Program Files (x86)\Java\jre7\bin>keytool -list -v -keystore"%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android



Alias name: androiddebugkey
Creation date: 23 Feb, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 479d4fe7
Valid from: Sun Feb 23 06:19:02 IST 2014 until: Tue Feb 16 06:19:02 IST 2044
Certificate fingerprints:
MD5:  DB:6A:8E:48:22:5B:37:73:B1:91:EF:43:3F:26:F0:EC
SHA1: B4:6B:2E:5F:5A:30:C5:E4:E7:12:BB:F0:74:FC:2B:43:64:3A:FC:15
SHA256: CB:59:F3:20:7D:5B:87:99:6C:0D:32:79:79:CF:4E:8C:16:C2:37:81:7B:
B0:AF:D2:EC:3C:11:21:53:58:62:F6
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: FA 96 17 9E 94 73 C3 42   F0 4B 55 5B C7 5B EE BB  .....s.B.KU[.[..
0010: C3 E5 D3 61                                        ...a
]
]
krrish
sumber
1
Manakah yang merupakan hash kunci dan mana yang merupakan Development Key Hashes dan mana yang merupakan Release Key Hashes?
TPWang
4

jika Anda ingin menjalankan keytool dari lokasi terminal mana pun

contoh: C:> keytool

Anda perlu menambahkan variabel sistem

untuk Windows:

1) create:
JAVA_HOME
C:\Program Files\Java\jdk1.7.0_45

2) add to Path
%JAVA_HOME%\bin;
Probojnik
sumber
4

Mudah, cukup temukan lokasi di mana keytool dapat dieksekusi, biasanya ada di java/jre(Version)/binmisalnya di komputer saya C:\Program Files\Java\jre7\bin. yang harus Anda lakukan adalah pergi ke variabel lingkungan , klik PATH untuk membuatnya aktif, lalu klik edit, lalu tambahkan jalur lengkap tempat keytool Anda , bagi saya saya akan menambahkan C:\Program Files\Java\jre7\binini akan memungkinkan Anda untuk menjalankan perintah keytool tanpa pergi ke direktori di mana keytool diinstal.

JohnPep
sumber
2

Artinya, shell Anda tidak dapat menemukan alat tersebut di harddisk Anda.

SEBUAH)

  • Ubah direktori kerja menjadi C:\Program Files\Java\jre6\bin\
  • Menjalankan keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

B)

  • Tambahkan C:\Program Files\Java\jre6\bin\ke PATHvariabel Anda
jjj
sumber
2

Dalam kasus saya, masalah saya adalah menggunakan PowerShell dan bukan CMD :)

Skylin R
sumber
2

Saya menderita banyak mencoba menemukan solusi untuk itu dan akhirnya saya menemukan solusi dengan terlebih dahulu mengatur jalur jre ke variabel sistem dengan menavigasi ke ::

control panel > System and Security > System > Advanced system settings 

Di bawah Variabel sistem klik baru

Variable name: KEY_PATH
Variable value: C:\Program Files (x86)\Java\jre1.8.0_171\bin

Di mana nilai Variabel harus menjadi jalur ke folder bin JDK Anda.

Kemudian buka command prompt dan Ubah direktori ke folder bin JDK yang sama seperti ini

C:\Program Files (x86)\Java\jre1.8.0_171\bin 

lalu salin dan tempel kode di bawah ini di cmd

keytool -list -v -keystore "C:\Users\user\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android   
Jude
sumber
1

Memberikan:

keytool -list -keystore ~/.android/debug.keystore

Juga di baris Anda ada spasi di keystore. Tolong diperiksa.

Anju
sumber
1

Buka "Variabel Lingkungan" (Anda dapat mengaksesnya dari pencarian menu awal di Win10) periksa kembali jalur jdk, untuk memastikannya ada. Bagi saya, dikatakan "... jdk1.8 / bin" Tetapi ketika saya menyalinnya ke Windows Explorer atau command prompt, dikatakan bahwa itu tidak ada. Saya memeriksa di mana seharusnya, dan tertulis "jdk1.8.0_77"

Perubahan nama sederhana dari pengaturan di Android Studio dan keytool berfungsi!

sonictimm.dll
sumber
1

Solusi sederhana dari kesalahan adalah Anda harus terlebih dahulu mengubah direktori folder di command prompt. Secara default di command prompt atau di tab terminal (Di dalam studio Android di bagian bawah) jalur diatur ke C: \ Users # Nama PC Anda yang Anda pilih \ AndroidStudioProjects # nama aplikasi \ flutter_app> Ubah sesuai: - C: \ Users #Nama PC yang Anda pilih \ AndroidStudioProjects # nama aplikasi \ flutter_app> cd \

ketik ** cd ** (#after flutter_app>), ketik hanya cd \ bukan koma

lalu ketik cd Program Files \ Java \ jre1.8.0_251 \ bin (#ingat untuk memeriksa nama file jre dengan benar)

sekarang ketik keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android (tanpa spasi, ketik perintah).

tangkapan layar dari kode yang akan dijalankan

Sourabh Biswas
sumber
Saya seorang pengembang flutter pemula yang berjuang untuk menyelesaikan aplikasi saya. Saya terus mendapatkan kesalahan ini, tidak sampai saya melihat jawaban ini. Terima kasih.
Simeon
1

keytool dikirimkan dengan Android Studio sebagai bagian dari JRE yang diperlukan untuk menjalankan Android Studio.

Di Windows: C:\Program Files\Android\Android Studio\jre\bin\keytool.exe

Di Mac-nya: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/keytool

Tambahkan ke variabel lingkungan Anda lalu jalankan kembali perintah keytool.

Tim Truston
sumber
0

Bekerja dengan baik

Pergi ke Path

C:\Program Files\Java\jre7\bin> keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Developer\.android\debug.keystore"

Kemudian masukkan Kata Sandi Ketsore dan pekerjaan selesai !!

pengguna1576593
sumber
0

Buka Command prompt ketik ini ..

"c: \ Program Files (x86) \ Java \ jdk1.7.0 \ bin \ keytool.exe" -list -v -alias androiddebugkey -keystore "C: \ Users \ EIS.android \ debug.keystore" -storepass android -keypass android

Kemudian Tekan Enter MD5 dan kunci SHA1 akan didapat

sss
sumber
0

Saya tahu sudah ada beberapa jawaban tetapi tidak ada yang berhasil untuk saya, jadi saya memposting satu jawaban yang berhasil untuk saya, semoga bermanfaat bagi seseorang.

Pertama-tama direktori ke keytool.exe harus berada di jalur

dan jika bukannya direktori berada di jalur itu memberikan kesalahan maka Coba mulai baris perintah sebagai pengguna biasa daripada sebagai administrator atau ubah direktori ke direktori home

Henu
sumber
0

Untuk windows 10 Anda perlu path C:\Program Files\Java\jre1.8.0_161\bin

restart perintah dan buka

Md Rashedul Islam
sumber
0

Temukan di mana keytool.exe Anda di dalam folder instalasi java

saya C:\Program Files\Java\jre1.8.0_181\binbuka cmd di mana saja dan jalankan

SET PATH=%PATH%;C:\Program Files\Java\jre1.8.0_181\bin;

ubah jalur ke jalur tempat Anda menemukan keytool.exe

Ahmed Adewale
sumber
0

Kasus saya adalah, itu tidak berfungsi di mana pun saya menyebutnya, tidak peduli saya mengarahkan file atau tidak, jika saya membukanya dengan PowerShell.

tetapi berfungsi jika saya membukanya dengan cmd.

Wesleywai
sumber
0

Cari saja di jalur berikut: C: \ → Program Files → Java → jre1.xxx → bin
pastikan folder bin ini menyertakan keytool.exe ini

Kemudian buka command prompt.

lalu ketik: (cd berarti ganti direktori) cd C: \ Program Files \ Java \ jre1.8.0_231 \ bin

Kemudian ketik perintah, dan tekan enter

Alex Sommera
sumber
0

Perintah keytool mungkin tidak berada di jalur Anda — ini bagian dari Java, yang diinstal sebagai bagian dari Android Studio. Untuk jalur konkret, jalankan flutter doctor -v dan temukan jalur yang dicetak setelah 'Java binary at:'. Kemudian gunakan jalur yang sepenuhnya memenuhi syarat itu menggantikan java (di bagian akhir) dengan keytool. Jika jalur Anda menyertakan nama yang dipisahkan spasi, seperti Program Files, gunakan notasi yang sesuai platform untuk nama tersebut. Misalnya, di Mac / Linux gunakan Program \ Files, dan di Windows gunakan "Program Files".

Mahmoud Hamdy
sumber
-2
  1. Buka tempat KEYTOOL.EXE Anda di file JAVA Anda seperti misalnya C: \ Program Files \ Java \ bin \ keytool.exe.

  2. TAHAN SHIFT dan Klik Kanan pada Folder BIN tempat keytool.exe Anda berada dan klik buka CMD atau RUN Command dari sini.

  3. Ini membuka cmd. lalu ketik

keytool -exportcert -alias NAMA KEYSTORE ANDA -keystore JALAN KEYSTORE.jks "|" C: \ OpenSSL \ bin \ openssl "sha1 -binary |" C: \ OpenSSL \ bin \ openssl "base64

  1. Prompt Kata Sandi, masukkan android dan BOOOOOOOM ... Anda memiliki Kunci.
SUPAVIVA - TV Orion
sumber