Esqueci minha senha do Keystore e não sei mais o que fazer (não posso ou não vou dar desculpas para isso). Quero atualizar meu aplicativo porque acabei de consertar um bug, mas não é mais possível. O que acontece se eu usar o mesmo armazenamento de chaves, mas criar uma nova chave? Ainda seria capaz de atualizar o aplicativo e, se não for possível, como posso fornecer informações aos usuários sobre a versão atualizada?
Se alguém teve um problema como este ou se deparou com problemas, que conselho você daria para ajudar a remediar a situação? Felizmente, é um aplicativo gratuito.
Respostas:
Veja este link
É lamentável, mas quando você perde seu armazenamento de chaves ou a senha do armazenamento de chaves, seu aplicativo fica órfão. A única coisa que você pode fazer é reenviar seu aplicativo ao mercado com uma nova chave.
SEMPRE faça backup de seu armazenamento de chaves e anote as senhas em um local seguro.
fonte
Acabei de encontrar esse problema sozinho - felizmente, consegui encontrar a senha em alguns arquivos temporários do Gradle. Para o caso de alguém pousar aqui:
tente procurar por este arquivo
e procurar por
Estava lá em texto claro. Em geral, se você se lembrar de pelo menos uma parte de sua senha, tente pesquisar por um arquivo que contenha essa substring e, com sorte, você encontrará algo.
Queria jogar fora aqui, talvez eventualmente ajude alguém.
Editar: Adicionadas novas percepções de comentários, apenas para ficar mais visível.
Agradecimentos a Vivek Bansal, Amar Ilindra e Uzbekjon por isso.
fonte
strings taskArtifacts.bin | grep storePassword -A1
E, a propósito, obrigado ElDoRado1239 - você acabou de me economizar um grande momento.5.1.1
gradleCaso uma senha errada seja fornecida, mesmo que apenas uma vez, ele continua dizendo nas próximas tentativas:
Mesmo quando você fornece o correto. Tentei várias vezes, talvez seja algum tipo de proteção.
Feche o assistente de exportação e inicie-o novamente com a senha correta, agora funciona :)
fonte
Bruto é sua melhor aposta!
Aqui está um script que me ajudou:
https://code.google.com/p/android-keystore-password-recover/wiki/HowTo
Você pode opcionalmente fornecer uma lista de palavras que a senha pode incluir para uma recuperação muito rápida (para mim, funcionou em <1 segundo)
fonte
Finalmente encontrei a solução depois de passar dois dias ...
Siga esses passos:
Isso realmente funcionou para mim.
Experimente e feliz codificação !!!
fonte
Em um utilitário de console de lançamento do MAC e role para baixo até ~ / Library / Logs -> AndroidStudio -> idea.log.1 (ou qualquer número de log antigo) Então procurei por "keystore" e ele deve aparecer em algum lugar dos logs.
Questão original: link
fonte
SOLUÇÃO 2019 (Windows, Android Studio 3.3, gradle 4.10):
Esta solução só funciona se a caixa de seleção "Lembrar senha" foi marcada anteriormente.
Em primeiro lugar, taskArtifacts.bin não existe para esta versão do gradle e idea.log mostra asteriscos para as senhas. Estas eram as soluções dos velhos tempos que não funcionavam para mim.
Onde encontrei as senhas em texto não criptografado: C: \ Usuários \ {nome de usuário} \ AndroidStudioProjects \ {projeto} \ app \ build \ intermediates \ signature_config \ release \ out \ subscription-config.json
Chaves: mStorePassword e mKeyPassword.
Eu realmente espero que ajude outra pessoa.
fonte
Na verdade, perder
keystore password
não é um problema.Você pode criar um novo keystore e definir uma nova senha para ele com o
keytool
comando abaixo. Você não precisa da senha do keystore original para isso:keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore
Quando solicitado, crie uma senha para sua
new.keystore
e para a senha do keystore de origem (que você perdeu), basta pressionar Enter .Você receberá um aviso sobre integridade não verificada e obterá seu new.keystore idêntico ao original com a senha recém-definida.
O motivo pelo qual isso funciona é
keystore password
usado apenas para fornecer integridade dokeystore
, ele não criptografa dados com ele, ao contrário do queprivate key password
, na verdade, mantém sua chave privada criptografada.Observe que você deve saber
private key password
para assinar seus aplicativos. Bem, se for esquecidokeystore password
, você pode recorrer à força bruta como na resposta de @Artur.Essa abordagem sempre funcionou para mim.
fonte
jarsigner: key associated with mykey-release not a private key
. Estou esquecendo de algo?Sinto que preciso dar uma resposta porque não poderia ser apenas nos comentários. Como @ ElDoRado1239 diz em sua resposta (não se esqueça de votar positivamente em sua resposta;)
..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin
no meu caso estava em..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.bin
porque eu usogradle 2.2.1
storePassword
como @Moxet Khan diz nos comentários ... no meu caso estava na linhasigningConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias
Espero ajudar mais alguém !!!
fonte
Felizmente, encontrei minha senha perdida junto com o caminho do armazenamento de chaves e o nome do alias de meus logs do Android Studio.
se você estiver executando máquinas baseadas em Linux / Unix.
Navegue até o diretório de registros da biblioteca
lá se você se lembrar da versão do Android Studio que você usou para construir o último APK de lançamento. Navegue até esse diretório
ex: cd AndroidStudio1.5 /
Lá você encontrará os arquivos de log. em qualquer um dos arquivos de log (idea.log), você encontrará suas credenciais de armazenamento de chaves
exemplo
Espero que isso ajude os usuários do Android Studio
fonte
Pode ser um pouco tarde, mas vai ajudar alguém com certeza Você pode pesquisar a senha se lembrar de algo, caso contrário, tente pesquisar como
SignConfig.storePassword
também se você esqueceu o alias da chave, você pode encontrar aqui que também pesquisar algo como assinaturaConfig.keyAlias
Espero que ajude alguém
fonte
Para qualquer pessoa que possa se deparar com isso, gostaria de compartilhar uma resposta que pode ser o seu caso ou para outras pessoas que estão navegando neste artigo (como eu).
Estou usando o Eclipse e criei meu keystore nele para minha versão 1.0. Avance 3 meses e quero atualizá-lo para 1.1. Quando escolhi Export ... no Eclipse e escolhi aquele keystore, nenhuma das minhas senhas que eu conseguia lembrar funcionou. Cada vez que dizia "Keystore adulterado ou senha incorreta". Cheguei a um ponto em que eu estava me preparando para executar um programa de força bruta nele pelo tempo que eu pudesse aguentar (uma semana ou mais) para tentar fazê-lo funcionar.
Felizmente, devo assinar meu arquivo .apk não assinado fora do Eclipse. Voila - funcionou! Minha senha estava correta o tempo todo! Não sei por que, mas assiná-lo no Eclipse por meio do menu Exportar estava relatando um erro mesmo quando minha senha estava correta.
Portanto, se você está recebendo esse erro, aqui estão meus passos (retirados da documentação do Android ) para ajudá-lo a preparar seu apk para o mercado.
NOTA: Para obter o apk não assinado do Eclipse: clique com o botão direito do mouse em projeto> Ferramentas Android> Exportar aplicativo não assinado
Assinar arquivo apk não assinado com keystore
uma. abra o prompt de cmd do administrador e vá para "c: \ Arquivos de programas \ Java \ jdk1.6.0_25 \ bin" ou qualquer versão de java que você tenha (onde você copiou o arquivo apk não assinado e seu armazenamento de chaves)
b. no prompt do cmd com o arquivo keystore e apk não assinado no mesmo diretório, digite este comando: jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore
c. ele dirá: "Enter Passphrase for keystore:". Entre e pressione Return.
d. ===> O sucesso se parece com isto:
e. a versão não assinada é sobrescrita no lugar, então seu arquivo apk assinado agora tem o mesmo nome de arquivo do não assinado
Use ZipAlign para compactar o arquivo apk assinado para distribuição no mercado
uma. abra o prompt do cmd de administração e vá para "c: \ AndroidSDK \ tools" ou onde quer que você tenha instalado o Android SDK
b. digite este comando: zipalign -v 4 signed.apk signedaligned.apk
c. ===> O sucesso se parece com isto:
d. o arquivo assinado e alinhado está em signedaligned.apk (o nome de arquivo que você especificou no comando anterior)
========> PRONTO PARA ENVIAR PARA O MERCADO
fonte
Depois de passar quase um dia pesquisando as opções possíveis para recuperar a senha perdida do keystore no Android Studio. Encontrei as seguintes 4 maneiras possíveis de fazer isso:
Use AndroidKeystoreBrute para recuperar sua senha. Este método é bastante útil quando você esqueceu parcialmente sua senha, significa que você ainda tem algumas dicas sobre sua senha em mente.
Você também pode recuperá-lo por meio dos arquivos de log do Android Studio se já tiver lançado o aplicativo (para o qual está encontrando a senha do keystore) com a mesma máquina. Consulte o seguinte diretório:
Mac OS X
Linux (localização possível)
Windows (localização possível)
e pesquise
Pandroid.injected.signing.key.password
dentro do arquivo. Você verá a senha se já tiver assinado o aplicativo com a mesma versão do Android Studio que está procurando atualmente.Você também pode recuperar a senha por meio do diretório .gradle do seu projeto. Procure o seguinte caminho
Se nenhuma das soluções acima funcionar, você pode tentar esta, mas para esta também você deve ter o aplicativo IDE do Android Studio ou suas preferências em que a senha do keystore do projeto foi salva anteriormente (usando a opção Lembrar senha no momento da assinatura do aplicativo). Você pode obter as preferências do IDE no seguinte caminho:
Mac OS X
Linux (localização possível)
Windows (localização possível)
Apenas use o IDE Android Studio mais antigo se você tiver ou importe as preferências do IDE antigo para o novo IDE e também coloque o arquivo keystore no mesmo caminho onde estava quando você o assinou e salve a senha da última vez.
Desta forma, uma vez que você abre o projeto e tente o Build-> Generate Signed APK e selecione o arquivo keystore do local mais antigo. Ele irá recuperar automaticamente a senha e continuar a gerar o APK assinado para liberação.
Assim que o APK de lançamento for gerado com sucesso, você pode seguir a opção 2 mencionada anteriormente para verificar sua senha no arquivo de log do APK de lançamento gerado recentemente.
fonte
Primeiro baixe AndroidKeystoreBrute_v1.05.jar e siga a imagem fornecida.
prepare um arquivo de lista de palavras como (lista de palavras.txt), nesse arquivo dê sua dica como
Dica de senha:
Comercial
Comercial
Senha
senha
pa55word
Senha
@
*
#
$
E
1
2
123
789
Você receberá sua senha.
fonte
Maneira mais simples de obter a senha do keystore
pasta_de_projeto \ app \ build \ intermediates \ subscription_config \ release \ out \ subscription-config.json
Confira esta pesquisa de arquivo para StorePassword em assinatura-config.json
Espero que tudo ajude você.
fonte
Adicionando isso como outra possibilidade. A resposta pode estar bem debaixo do seu nariz - no arquivo build.gradle do seu aplicativo, se por acaso você especificou uma configuração de assinatura em algum momento no passado:
Você se sente com sorte ?!
fonte
Eu tive o mesmo problema imediatamente. Mesmo que com a assinatura do App pelo Google Play, perder o armazenamento de chaves ou sua senha não seja um grande negócio como antes, ainda como um desenvolvedor, preferimos alterar sua senha e usar um arquivo de armazenamento de chave gerado sem esperar alguns dias no Google para lidar com isso. (Para lidar com esse problema com o Google, use este link para fazer uma solicitação). Para lidar com esse problema por conta própria, primeiro baixe dois arquivos .java deste link . Em seguida, compile o ChangePassword.java por
javac ChangePassword.java
comando. Depois, você pode executarAltere oldKeystoreFileName.keystore com o caminho / nome de seu arquivo de armazenamento de chave atual e newKeystoreFileName.keystore com caminho / nome para o novo arquivo de armazenamento de chave gerado. Isso irá promover você para
. Basta digitar o que preferir :) não precisa ser a senha original que foi perdida. Em seguida, digite a nova senha com *
fonte
Abra
taskHistory.bin
e pesquisestorePassword
fonte
SE você conseguir criar seu aplicativo de um PC, mas não se lembra da senha, eis o que você pode fazer para recuperar a senha:
Método 1:
Em seu build.gradle, adicione
println MYAPP_RELEASE_KEY_PASSWORD
o seguinte:Depois disso, corra
cd android && ./gradlew assembleRelease
Método 2:
Execute,
keytool -list -v -keystore your <.keystore file path>
por exemplo, keytool -list -v -keystore ./app/my-app-key.keystore.Ele solicitará que você insira a senha do keystore: Basta pressionar a tecla Enter aqui. e você será capaz de encontrar mapeado para o nome de alias:
Em seguida, execute
grep -rn "<your alias name>" .
em seu terminal e você poderá ver seu arquivo subscription.json conforme abaixo:O arquivo terá sua senha no formato json com a chave "mKeyPassword": "<sua senha>"
fonte
No Ionic, consegui encontrá-lo aqui:
/app/platforms/android/app/build/intermediates/signing_config/release/out/signing-config.json
Talvez isso ajude alguém. Felicidades.
fonte
A força bruta do Android não funcionará se as duas senhas forem diferentes, então a melhor opção pode ser tentar encontrar o arquivo nomeado como
log.idea
em seu C: / users / sua conta nomeada, então você pode descobrir que, na pasta android, abra o arquivo lpg.idea no bloco de notas e pesquise por
apelido
usando a opção de localização no bloco de notas iráencontrar que a senha e o apelido e as senhas do apelido foram mostrados lá
fonte
Eu encontrei a senha em
Procurar por
fonte
Ir para
taskhistory.bin
a.gradle
pasta do seu projeto de pesquisa de senha de rolagem para baixo até encontrar a senhafonte
Estou surpreso que ninguém tenha mencionado isso, mas você pode acessar o suporte ao desenvolvedor do Google Play e eles trabalharão com você para criar uma nova chave de upload:
https://support.google.com/googleplay/android-developer/contact/otherbugs
Eu resolvi um problema e eles me contataram em 1 dia.
fonte
Para resumir, existem 3 respostas para esta pergunta (e a solução não é dada pela resposta aceita):
Se você tiver seus logs intactos, poderá encontrar a senha nos arquivos de log do Android Studio de acordo com a resposta de Georgi Koemdzhiev acima.
Você pode recuperar a senha do arquivo 'taskArtifacts.bin' em seu diretório .gradle de acordo com as respostas de ElDoRado1239 e Gueorgui Obregon acima. Isso não parece funcionar para as versões mais recentes do Gradle (2.10 e superior).
Use AndroidKeystoreBrute para adivinhar ou aplicar força bruta em sua senha de acordo com a resposta de Srinivas Keerthiprakasam acima.
Todas essas 3 soluções são abordadas em detalhes neste link .
fonte
No meu caso, eu estava recebendo o nome do alias errado, embora tenha armazenado a senha correta. Então eu pensei que era a senha errada (usando o pacote iônico), então usei este comando para obter o nome do alias
keytool -list -v -keystore
E consegui usar o keystore novamente!
fonte
C: \ Users \ admin \ AndroidStudioProjects \ TrumpetTVChannel2.gradle \ 2.14.1 \ taskArtifacts \ taskArtifacts.bin
Primeiro tente criar um novo armazenamento de chaves .... em seguida, abra taskArtifacts.bin com o bloco de notas e procure a senha que acabou de fornecer .... você será capaz de descobrir as palavras próximas à senha que acabou de fornecer e, em seguida, procure por essas palavras próximas a sua senha no mesmo arquivo .... você será capaz de descobrir a senha ..... :)
fonte
Se nada funcionar, tente esta linha. Vá para o caminho onde .jks está armazenado. Execute este comando no prompt de comando. Ele pedirá a senha, ignore-a e pressione Enter.
keytool -list -keystore sample.jks
fonte
SOLUÇÃO 2018 : Assine o aplicativo com um novo arquivo de armazenamento de chaves se a senha ou o arquivo jks estiverem faltando.
1) Crie um novo arquivo keystore.jks com linha de comando (não o menu de construção do Android Studio)
Exemplo do Windows:
"C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore "C:\keystore_new.jks"
2) Gere um arquivo .pem de um novo armazenamento de chaves
Exemplo do Windows:
"C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -export -rfc -alias upload -file "C:\upload_cert.pem" -keystore "C:\keystore_new.jks"
3) Use este formulário de suporte, defina "problema de armazenamento de chaves" e com anexo adicione o arquivo .pem: https://support.google.com/googleplay/android-developer/contact/otherbugs
4) 12-48h seu novo keystore está habilitado. Atualize seu aplicativo na playstore com o novo apk assinado com o novo keystore: D
fonte
Não há necessidade de usar força bruta, uma maneira simples é encontrar sua senha em texto simples.
vamos para:
Abrir:
quando você abre taskArtifacts.bin pode parecer criptografado, não se preocupe com a pesquisa por ".keyPassword" algumas vezes. Em seguida, você encontrará sua senha em texto simples. Pode ser semelhante a:
Espero que isso tenha sido útil.
fonte