Como recuperar o alias da chave e a senha da chave do APK assinado no Android Studio (migrado do Eclipse)

89

Tenho um aplicativo Android publicado atualmente no Google Play que atualizo periodicamente. Eu sigo o seguinte processo para assinar o aplicativo antes de um novo push:

Pressione o botão direito do mouse no projeto, as 'Ferramentas do Android' -> exportar pacote de aplicativo assinado Forneça a senha do armazenamento de chaves Assine seu aplicativo Faça upload do arquivo apk no Console do desenvolvedor do Google Play

Recentemente, importei o projeto do Eclipse para o Android Studio e continuei trabalhando no Android Studio. Agora estou planejando fazer uma correção no aplicativo. Eu descobri que tenho essa opção de assinar o apk no android studio

Construir -> Gerar apk assinado ->insira a descrição da imagem aqui

De acordo com meu entendimento, para meu aplicativo Android, tenho que usar o mesmo armazenamento de chaves e senha de armazenamento de chaves que usei anteriormente para enviar atualizações para o Google Play. Também aqui está solicitando o alias da chave e a senha da chave. Não me lembro do alias da chave e da senha da chave (entrada número 4 na imagem) ao assinar o apk no Eclipse. Alguma sugestão do que posso fazer agora? Se eu já souber meu keystore e senha do keystore, há uma maneira de recuperar o alias da chave e a senha da chave do alias?

Atualização: agora posso recuperar meu alias de chave por meio do comando keytool -list -v -keystore name.keystore

MSIslam
fonte
"não havia opção como alias de chave ou senha de chave ao assinar o apk no Eclipse" - existe no meu Eclipse com o plugin ADT. Na verdade, não é possível criar uma chave sem um alias.
CommonsWare
Nesse caso, posso não me lembrar. Você poderia dizer como recuperar o alias da chave?
MSIslam
2
Se você tiver a senha do keystore, keytoolpoderá listar os aliases. Já faz um tempo que não mexi nele keytoolmanualmente.
CommonsWare
1
Não, não há problema em criar novos, a menos que você queira mudar para uma nova chave e forçar seus usuários a perder seus dados de aplicativo (e pelo menos aqueles que obtêm o aplicativo através da Play Store) para substituir o aplicativo existente por um que tenha um nome diferente. Provavelmente, aqueles que você está usando atualmente estão armazenados em algum lugar nos metadados do projeto, provavelmente como texto simples.
Chris Stratton de
3
Na verdade, eu poderia recuperar o alias pelo comando keytool -list -v -keystore name.keystore. Agora preciso recuperar a senha. Existe alguma maneira de recuperar a senha da chave do alias?
MSIslam de

Respostas:

158

No Mac , encontrei o caminho do arquivo de armazenamento de chave, senha, alias de chave e senha de chave em um relatório de log anterior antes de atualizar o Android Studio.

Iniciei o utilitário Console e rolei para baixo até ~ / Library / Logs -> AndroidStudioBeta -> idea.log.1 (ou qualquer número de log antigo)

Então, pesquisei “android.injected.signing.store” e encontrei isso em uma data anterior:

-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, 
-Pandroid.injected.signing.store.password=mystorepassword, 
-Pandroid.injected.signing.key.alias=myandroidkey, 
-Pandroid.injected.signing.key.password=mykeypassword,

No Windows

você pode encontrar sua senha perdida no caminho abaixo

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin ou ..taskHistory\taskHistory.bin

Aqui está a imagem para ver o caminho na estrutura de pastas

abra o arquivo usando ferramentas apropriadas, por exemplo, Bloco de notas ++ e pesquise com a parte da senha que você lembra. Você o encontrará definitivamente. Caso contrário, tente pesquisar com esta string "assinaturaConfig.storePassword".

Nota: Eu experimentei o mesmo e sou capaz de encontrá-lo. Caso você não tenha encontrado, você limpou todos os arquivos de cache e temporários.

gkemp
fonte
14
Você é um deus. Se você estiver no Windows, vá para.AndroidStudioX.X (x.x is the version number eg 1.5) > system > log > idea
Pztar
9
Uau! Você salvou meu dia, meu mês e meu ano! Simplesmente fantástico! :) Mas no meu caso (Android 2.2) a senha é mostrada como: ********. No WindowsC:\Users\yourUser\.Android2.2\system\log\idea.log.1
Francisco Romero
7
@ Error404 A senha é mostrada logo abaixo da primeira parte *****. Funcionou comigo no Android 2.2
Montolide
1
^^ @grant, desculpe, mas esqueci de marcar você neste ... caso você ainda esteja tendo problemas
Kmanc
7
infelizmente não funciona no Windows e no Android Studio 3.3. Senhas ocultas com ********
D.Zotov
119

Eu finalmente consegui descobrir o problema.

Para obter o Key Alias: Copiei o keytool.exe e meu arquivo keystore para a pasta C: \ Program Files \ Java \ jdk1.7.0_71 \ bin. Então, no prompt de comando, escrevi:keytool -list -v -keystore <name>.keystore Ele também solicitará a senha do keystore. Em seguida, ele mostrará o alias da chave, as impressões digitais do certificado e outras informações.

Em seguida, tentei novamente gerar o Apk assinado para o projeto, forneci o keystore, a senha do keystore, o alias da chave e a mesma senha. Aí pede senha mestra, tentei com a mesma e falhou. Com a opção de redefinição, eu redefino a senha mestre aqui.

MSIslam
fonte
@JoelDean, você pode fornecer mais detalhes? Você conseguiu redefinir ou recuperar a senha do alias do keystore usando isso? ou apenas o alias?
rgamber
Lembrei-me da senha, então consegui recuperar o alias usando esse método.
Joel Dean,
você pode explicar novamente a segunda parte da sua resposta? !! você me perdeu de "e forneceu a mesma senha"
Muhammed Refaat
1
@MuhammedRefaat mesma senha que a senha do keystore
MSIslam
1
Eu sei minha senha do keystore, mas não sei o caminho do keystore. Você pode me ajudar onde posso encontrá-lo. Eu só sei o caminho do arquivo jks e a senha do keystore, mas não me lembro da senha da chave. por favor ajude
Rajkumar Gour
52

como recuperar a senha do keystore

Você não pode recuperar a senha. Se você esqueceu, está condenado.

como recuperar o alias da chave

$ keytool -list -v -keystore <store>

Mas você precisa da senha do keystore para isso primeiro.

EDITAR

O que não me lembro é a 'senha da chave'

Nenhuma senha pode ser restaurada. Se você esqueceu a senha da chave para sempre, você também está condenado e não há outra maneira a não ser se esforçar mais para lembrá-la. Não há nada de redefinição de senha nem nada parecido.

Esteja ciente de que se você esquecer sua senha para sempre, você não emitirá mais atualizações para seu aplicativo ( documentos ):

Aviso: mantenha seu armazenamento de chaves e chave privada em um local seguro e protegido e certifique-se de ter backups seguros deles. Se você publicar um aplicativo no Google Play e, em seguida, perder a chave com a qual assinou seu aplicativo, não poderá publicar nenhuma atualização para seu aplicativo, pois você deve sempre assinar todas as versões de seu aplicativo com a mesma chave.

Marcin Orlowski
fonte
2
Lembro-me da senha do keystore. Também tenho o keystore e agora me lembro do Key Alias. O que não me lembro é a 'senha chave' (caixa número 4 na imagem em questão).
MSIslam de
Obrigado pela resposta. Votado. Na verdade, peguei o alias da chave anteriormente, da mesma maneira que você mencionou. O que eu estava enfrentando era a senha do alias da chave.
MSIslam
mas isso só fornece informações sobre as chaves, incluindo as impressões digitais, mas não fornece a senha em si, algo que estou faltando aqui?
Muhammed Refaat
keytool também existe para Mac
János
Você sempre pode restaurar sua senha, contanto que não formate seu HDD completamente e remova seu IDE. Como @Distjoy explicou abaixo, sempre usei essa forma para restaurar minhas senhas.
XIII de
25

Recupere sua senha de armazenamento de chaves

100% trabalhando

Projects->taskHistory.bin

insira a descrição da imagem aqui

Find->KeyAlias

insira a descrição da imagem aqui

Nota: Clique e veja minhas imagens para sua referência

Agora, para o histórico de tarefas do Android Studio atualizado foi alterado para histórico de execução [!

tímido
fonte
Esta é de longe a maneira mais fácil de fazer.
JPritchard9518
24

No windows - basta abrir o arquivo keystore no bloco de notas, e na primeira linha - você pode ver seu apelido escrito em letras em inglês.

Lucky Rana
fonte
3
e no Mac você pode fazer isso com o TextEdit
Leo Droidcoder
16

Com base na resposta do gkemp, no Windows, encontrei o caminho do arquivo keystore, a senha, o alias da chave e a senha da chave em um relatório de log anterior antes de atualizar o Android Studio.

No explorador de arquivos do Windows c: / Usuários / nome do seu PC / .AndroidStudio1.4 (sua versão do Android Studio) \ system \ log \ idea.log.1 (ou qualquer número de registro antigo)

Então, pesquisei “android.injected.signing.store” e encontrei isso em uma data anterior:

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword
Distjoy
fonte
14

No Ubuntu, podemos encontrar todas as senhas relacionadas ao armazenamento de chaves do caminho fornecido.

/home/user/.AndroidStudio2.2(current version)/system/log/idea.log.x(older versions)

edite o arquivo e pesquise android.injected.signing.store, então você pode encontrar as senhas.

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword
Jijo Alexander
fonte
14

Apenas para restaurar o KEY ALIAS. Digite o comando abaixo no terminal.

$ keytool -list -v -keystore <storekey>

Ele dará informações começando,

Seu armazenamento de chaves contém 2 entradas ...

Você pode procurar o nome do alias lá.

Thatzprem
fonte
10

Eu encontrei minha senha chave no caminho abaixo

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin abra o arquivo e pesquise com a parte da senha que você lembra. Você o encontrará definitivamente.

Além disso, você pode consultar esta resposta stackoverflow.com/a/43007357/7089151

Maharshi Adiraju
fonte
1
incapaz de encontrar este arquivo no android studio 3.0, por favor, deixe-me saber como posso obter.
Peter,
@Peter Consulte: stackoverflow.com/a/43007357/7089151 Explore taskArtifacts.bin na estrutura do projeto. Os números da versão podem mudar, mas tudo o que você precisa fazer é encontrar taskArtifacts.bin
Maharshi Adiraju
1
Se a pasta taskArtifacts não existir, abra o arquivo taskHistory / taskHistory.bin em um editor de texto e pesquise a parte do pwd que você lembra.
Advait S
1
Vocês têm alguma ideia de como encontrar a senha da chave? Tenho storePassword, mas não tenho KeyPassword.
sommesh
9

Sim, você pode encontrar sua chave perdida nos artefatos de tarefa do Android Studio.

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

para a versão atualizada do android studio, o caminho é:

Project\.gradle\5.1.1\executionHistory\executionHistory.bin

Abra o arquivo e pesquise com a parte da senha que você lembra.

Amostra (estará naquele arquivo bin): signingConfig.keyAlias�"key name"�signingConfig.keyPassword�"key password"�signingConfig.storePassword�"Store Password"�

Você pode pesquisar com esta string “signatureConfig.storePassword” ou qualquer string fornecida na string de amostra

Nota: Eu experimentei a mesma coisa e sou capaz de encontrá-la no caminho acima. Caso você não tenha encontrado, você limpou todos os arquivos de cache e temporários.

Kishore Reddy
fonte
5

Basta abrir o arquivo de chave (arquivo .jks) com notepad ++. Você obterá o nome do alias na primeira linha ...

ZeroOneZero
fonte
Isso não traz nada de novo, Lucky Rana já cobriu isso.
Arma X
5

Você pode encontrar seus detalhes de armazenamento de chaves sem usar a senha da seguinte maneira.

Execute o comando ( keytool -list -keystore <path>) no prompt de comando

Você pode encontrar o Keytool na pasta java na minha máquina eu poderia encontrar a partir do seguinte caminho

C:\Program Files (x86)\Java\jdk1.7.0_71\bin> keytool -list -keystore C:\<YourKeystore>.Keystore

Em seguida, ele solicitará que você insira a senha, aqui você não precisa inserir a senha em vez de pressionar o botão de seta para cima e inseri-la. então os mesmos detalhes serão exibidos com a mensagem de aviso abaixo.

***************** AVISO AVISO AVISO *****************

  • A integridade das informações armazenadas em seu armazenamento de chaves *

  • NÃO foi verificado! Para verificar sua integridade, *

  • você deve fornecer sua senha do keystore. *

***************** AVISO AVISO AVISO *****************

Tipo de armazenamento de chaves: JKS Fornecedor de armazenamento de chaves: SUN

Seu armazenamento de chaves contém 1 entrada

samplekey, 26 de abril de 2017, PrivateKeyEntry, impressão digital do certificado (SHA1): XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX : XX: XX

Sarathi
fonte
Obrigado pela ajuda. sim está escrito na linha superior. você pode simplesmente abri-lo no bloco de notas
Mudasar
5

Basta abrir o arquivo do seuApp.jks com o Bloco de Notas e você encontrará o nome do Keystore e do Alias ​​lá !!

Muhammad Salman
fonte
1
Está criptografado. Você não pode ler os caracteres ao abrir no bloco de notas.
Abhinav Raja
Embora isso permita que você descubra qual é o seu alias, já que o alias permanece não criptografado em um .jks, isso não o deixa mais perto de descobrir uma senha perdida.
Evan Wieland
1
Alias ​​encontrado, sim! E a senha lembrada.
Eric
4

Se você estiver no MacOS e tiver marcado a caixa "salvar senha" no Android Studio, poderá recuperar a senha do Keychain Access.

  1. Inicie o Acesso às Chaves em Aplicativos / Utilitários.
  2. Selecione a senha na categoria, no painel esquerdo.
  3. No canto superior direito da caixa de pesquisa, digite o nome do seu aplicativo Android ou parte do nome do aplicativo.
  4. Você verá a linha de resultado, se você salvou a senha.
  5. Clique duas vezes nele, marque a caixa de seleção mostrar senha, forneça a senha do sistema quando solicitado e ele mostrará a senha do keystore.
Maria
fonte
4

Infelizmente, as soluções fornecidas acima não são amigáveis ​​para iniciantes.

Está

keytool -list -v -keystore keystore_name.jks
Soban Arshad
fonte
1
A solução acima fornecerá o keyAlias, desde que você se lembre da senha do keystore.
shahil
1

Método de trabalho abaixo do Android Studio 3.0:
Encontre seu projeto compactado antigo.
Se você criou o apk, você encontrará a senha no arquivo:

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

Pandroid.injected.signing.store.password = senha

Se você não tiver o projeto compactado, pesquise seus repositórios git se você tiver a pasta .gradle enviada ou não.
Caso contrário, você terá que recuperar arquivos e pesquisar arquivos pelo conteúdo "Pandroid.injected.signing.store.password".

AskQ
fonte
0

Em qualquer caso, você está confuso com sua senha. Você pode usar hit e trial. Ele pedirá a senha. Se estiver certo, ele mostrará a lista.

  • Item da lista

$ keytool -list -v -keystore filename

RAHUL KUMAR
fonte
0

Eu tentei muitas soluções e só isso funciona comigo e vou compartilhar com vocês

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

pesquisar por Ctrl+F

Hamdy Abd El Fattah
fonte