ERRO: 'keytool' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote

138

Quando eu uso o comando

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

Eu recebo este erro:

'keytool' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.

Não consigo obter a impressão digital do certificado (MD5) no meu computador.

eu assegurei que o arquivo keystore esteja presente no local apropriado.

Qualquer ajuda?

Shalini
fonte

Respostas:

220

Verifique se o diretório em que o executável do keytool está está na sua %PATH%variável de ambiente.

Por exemplo, na minha máquina com Windows 7, está dentro C:\Program Files (x86)\Java\jre6\bine minha %PATH%variável se parece C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(e muitas outras entradas)

Ben Williams
fonte
Entrei neste C: \ Arquivos de programas \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. O erro que eu tenho é erro keytool: java.lang.Exception: arquivo de armazenamento de chaves não existe: .android \ debug .keystore
Shalini
Se você fizer isso, ele procurará o keystore no C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystorequal quase certamente não é o caminho correto. Você precisa fornecer o caminho completo correto para seu keystore.
Ben Williams
1
o arquivo keystore está aqui C: \ Documents and Settings \ Shalini \ .android> então, quando digito C: \ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android android -keypass. Eu recebo esse mesmo erro 'keytool' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.
Shalini
14
TenteC:\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
ok, entrei em C: \ Documents and Settings \ Shalini \ .android> C: \ Arquivos de Programas \ Java \ jdk1.6.0_21 \ bin \ keytools -list -alias androiddebugkey -keystore C: \ Documents and Settings \ Shalini \ .android \ debug.keystore -storepass android -keypass android. o erro é O nome do arquivo, o nome do diretório ou a sintaxe do rótulo do volume está incorreta.
Shalini
91

Isso funcionou para mim !! :

Vá para este caminho ou onde quer que esteja o arquivo keytool.exe

C:\Program Files\Java\jre7\bin

Mantenha shiftpressionado e clique com o botão direito -> e pressioneOpen command window here

o terminal irá aparecer, cole-o em:

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

fornece a você MD5 e SHA1

Jakob
fonte
Isso funciona, mas a resposta da @ Amt87 garantirá que você tenha o keytool disponível em qualquer diretório sem precisar primeiro fazer o cd no diretório em que o keytool está localizado (somente Windows). no OS X (Mac), edite seu .profile e inclua: $ PATH no final ou você não terá comandos. (veja architectryan.com/2012/10/02/… )
tricknology
68

Encontrei.

VAMOS PARA:

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

VAMOS PARA:

cmd -> keytool -list -alias androiddebugkey -keystore "C:\Users\meee\.android\debug.keystore" -storepass android -keypass android
Amt87
fonte
10
  1. Vá para Meu computador -> clique com o botão direito do mouse -> propriedades do sistema -> variáveis ​​ambientais -> Caminho -> adicione você jdk / bin a este caminho

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

* se isso não funcionar,

  1. No cmd, defina o caminho usando o comando abaixo

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

agora o caminho está definido agora você pode usar o keytool

MANOJ G
fonte
Obrigado, no Windows 10, tentei a primeira solução e, por alguns motivos, não funcionou. O segundo funciona muito bem.
NineCattoRules 19/01
Obrigado. A segunda opção funcionou para mim no Windows 10 x64
mdhz 17/06
9

No Windows 8, vá para C: \ Arquivos de programas \ Java \ jre7 \ bin e, na barra de endereços, digite "cmd" sem as aspas. Isso iniciará o terminal. Em seguida, digite a string como descrito aqui .

Neutrino
fonte
8

Portanto, se você tem a seguinte estrutura agora:

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

então execute:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 
Zh. Atanasov
fonte
Eu tenho jdk-13 .it tem nenhum arquivo jre .Como posso resolver isso
Raman Raman
5

Certifique-se de que JAVA_HOME esteja configurado e o caminho nas variáveis ​​de ambiente reflita o diretório bin de JAVA_HOME. Basicamente, o PATH deve encontrar o arquivo keytools.exe no local do jdk.

Sharan Rajendran
fonte
5

tudo o que você pode fazer é navegar para o seu destino jre no seu computador via linha de comando e, quando chegar ao bin, digite o comando keytool e ele funcionará.

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
fonte
1
Qual desses é o hash da chave e qual é o Hashes de Chave de Desenvolvimento e qual é o Hashes de Chave de Liberação?
TPWang
4

Fácil, basta encontrar o local em que o executável do keytool está, normalmente, por java/jre(Version)/binexemplo, no meu computador C:\Program Files\Java\jre7\bin. tudo o que você precisa fazer é ir para as variáveis ​​de ambiente , clicar em PATH para ativá-lo, clicar em editar e adicionar o caminho completo onde está sua ferramenta de chaves . Para mim, adicionarei C:\Program Files\Java\jre7\binisso permitirá que você execute comandos da ferramenta de chave sem ir para o diretório em que keytool está instalado.

JohnPep
fonte
3

se você deseja executar o keytool a partir de qualquer local do terminal

exemplo: C:> keytool

você precisa adicionar as variáveis ​​do sistema

para Windows:

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

2) add to Path
%JAVA_HOME%\bin;
Probojnik
fonte
2

Isso significa que seu shell não conseguiu encontrar a ferramenta no seu disco rígido.

A)

  • Mude o diretório de trabalho para C:\Program Files\Java\jre6\bin\
  • Executar keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

B)

  • Adicione C:\Program Files\Java\jre6\bin\à sua PATHvariável
jjj
fonte
2

No meu caso, o problema estava no uso do PowerShell em vez do CMD :)

Skylin R
fonte
2

Sofri muito tentando encontrar uma solução para ele e, finalmente, encontrei a solução definindo primeiro o caminho do jre para as variáveis ​​do sistema, navegando para ::

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

Em Variáveis ​​do sistema, clique em novo

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

Onde Valor variável deve ser o caminho para a pasta bin do seu JDK.

Em seguida, abra o prompt de comando e mude o diretório para a mesma pasta bin do JDK como esta

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

copie e cole o código abaixo no cmd

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

Dar:

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

Também na sua linha, há um espaço no keystore. Por favor verifique isto.

Anju
fonte
1

Abra "Variáveis ​​de ambiente" (você pode acessá-lo na pesquisa do menu iniciar no Win10) e verifique o caminho em que o jdk está, para garantir que ele exista. Para mim, dizia "... jdk1.8 / bin" Mas quando copiei isso no Windows Explorer ou no prompt de comando, ele disse que não existia. Eu verifiquei onde deveria estar e dizia "jdk1.8.0_77"

Uma simples renomeação da configuração no Android Studio e keytool estava funcionando!

sonictimm
fonte
0

As obras para o bem

Vá para o caminho

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

Em seguida, digite a senha do Ketsore e faça o trabalho !!

user1576593
fonte
0

Abra o prompt de comando, digite isto ..

"c: \ Arquivos de programas (x86) \ Java \ jdk1.7.0 \ bin \ keytool.exe" -list -v -alias androiddebugkey -keystore "C: \ Users \ EIS.android \ debug.keystore" -storepass android -keypass andróide

Em seguida, pressione Enter MD5 e a tecla SHA1 será exibida.

sss
fonte
0

Eu sei que já existem várias respostas, mas nenhuma delas funcionou para mim, por isso estou postando uma que funcionou para mim, pode ser útil para alguém.

Antes de tudo, o diretório para keytool.exe deve estar no caminho

e se, em vez de o diretório estar no caminho, estiver dando erro, tente iniciar a linha de comando como um usuário normal em vez de como administrador ou altere o diretório para o diretório inicial

Sombra escura
fonte
0

Para o Windows 10, você precisa localizar C:\Program Files\Java\jre1.8.0_161\bin

comando restart e abra

Md Rashedul Islam
fonte
0

Localize onde está o seu keytools.exe dentro da pasta de instalação do java

o meu está C:\Program Files\Java\jre1.8.0_181\binaberto cmd em qualquer lugar e executado

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

altere o caminho para o caminho em que você localizou seu keytool.exe

Ahmed Adewale
fonte
0

Meu caso é que não funciona onde quer que eu o chame, não importa o caminho ou não do arquivo, se eu o abrir com o PowerShell.

mas funciona se eu abrir com o cmd.

Wesleywai
fonte
0

Basta procurar no seguinte caminho: C: \ → Arquivos de Programas → Java → jre1.xxx → bin
verifique se esta pasta bin inclui este keytool.exe

Em seguida, abra o prompt de comando.

digite: (cd significa alterar diretório) cd C: \ Arquivos de Programas \ Java \ jre1.8.0_231 \ bin

Em seguida, digite o comando e pressione enter

Alex Sommera
fonte
0

O comando keytool pode não estar no seu caminho - ele faz parte do Java, instalado como parte do Android Studio. Para o caminho concreto, execute o flutter doctor -v e localize o caminho impresso após 'Java binário em:'. Em seguida, use esse caminho completo, substituindo java (no final) pelo keytool. Se o seu caminho incluir nomes separados por espaço, como Arquivos de Programa, use a notação apropriada para a plataforma para os nomes. Por exemplo, no Mac / Linux, use Program \ Files, e no Windows, use "Program Files".

Mahmoud Hamdy
fonte
0

Uma solução simples de erro é que você primeiro precisa alterar o diretório da pasta no prompt de comando. Por padrão, no prompt de comando ou no terminal (dentro do estúdio Android, na parte inferior), o caminho é definido como C: \ Users # Nome do seu PC que você selecionou \ AndroidStudioProjects # app name \ flutter_app> Altere de acordo: - C: \ Users #Nome do seu PC que você selecionou \ AndroidStudioProjects # nome do aplicativo \ flutter_app> cd \

digite ** cd ** (#after flutter_app>), digite apenas cd \ não vírgula

digite cd Arquivos de programas \ Java \ jre1.8.0_251 \ bin (#remember para verificar o nome do arquivo de jre corretamente)

agora digite keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android (sem nenhum espaço digite o comando).

captura de tela dos códigos a serem executados

Sourabh Biswas
fonte
-2
  1. Abra onde o KEYTOOL.EXE está no seu arquivo JAVA, como por exemplo, C: \ Arquivos de Programas \ Java \ bin \ keytool.exe.

  2. Mantenha a tecla SHIFT e clique com o botão direito do mouse na pasta BIN em que seu keytool.exe está localizado e clique em Abrir comando CMD ou RUN a partir daqui.

  3. Isso abre o cmd. então digite

keytool -exportcert -alias NOME DA SUA KEYSTORE - CAMINHO DA KEYSTORE.jks "|" C: \ OpenSSL \ bin \ openssl "sha1 -binário |" C: \ OpenSSL \ bin \ openssl "base64

  1. Prompt de senha, digite android e BOOOOOOOM ... Você tem sua chave.
SUPAVIVA - A Orion TV
fonte