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?

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)


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


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

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


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 .


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 

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.


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
]
]

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.


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;

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

2

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


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   

1

Dar:

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

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


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!


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


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.


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


0

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

comando restart e abra


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


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.


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


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


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


-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.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.