Publicado Android APK dá erro “O arquivo do pacote não foi assinado corretamente”
-
22-09-2019 - |
Pergunta
Recentemente, enviei meu aplicativo para o mercado Android, mas está se recusando a executar quando baixado devido ao erro
O arquivo de pacote não foi assinado corretamente
Publiquei o pacote pela primeira vez usando o Eclipse, clique com o botão direito do mouse em exportação, criando um keystore e depois publicando, no entanto, ele se recusa a trabalhar.
Em seguida, baixei o keytool e o jarsigner e os usei para assinar uma atualização que eu publiquei. No entanto, isso dá o mesmo erro.
Não tenho ideia do que fiz de errado e, como não posso excluir o aplicativo, não posso tentar e começar de novo, alguém pode me ajudar?
Obrigado
Solução
Você tem sua cópia de depuração ainda instalada no seu dispositivo provavelmente. Agora você baixou uma cópia diferente do mesmo aplicativo e está causando esse erro.
Desinstale o aplicativo completamente do seu dispositivo. Em seguida, faça o download do mercado novamente e ele deve funcionar.
Outras dicas
Ok, eu tive o mesmo problema e nenhuma das resoluções sugeridas funcionou para mim. Eu estava assinando meu aplicativo da mesma maneira que estou há 2 anos e o mercado do Android estava aceitando bem, apenas os usuários não conseguiram baixá -lo no mercado com o erro "pacote não assinado".
O que aconteceu foi para outro projeto em que estou trabalhando, eu tinha o JDK7 instalado. Tornou -se o JDK padrão e, por algum motivo, o Keytool para o JDK7 está assinando o pacote de uma maneira que o Android não deve gostar. Por isso, voltei para o JDK 1.6.0_23 e re-corro minha construção e coloquei no mercado e tudo voltou ao normal.
Espero que isto ajude alguém.
Em um tablet, observe que, se você instalar uma versão de depuração do aplicativo e desinstalá -lo como normal (arrastando para o lixo até que diga "desinstalar"), isso não é suficiente. Como os tablets têm potencial para vários usuários, você precisa ir para
Settings > Apps > All
e depois role até o fundo. Lá, você verá seu aplicativo. Toque nele e depois bata Menu
na barra de ação (os três pontos) e depois uninstall for all users
. Então você estará pronto para ir.
Há um problema ao assinar APKs com o JDK7. Você pode resolvê -lo adicionando isso ao build.xml
<presetdef name="signjar">
<signjar sigalg="MD5withRSA" digestalg="SHA1" />
</presetdef>
Fonte: Kiyut Developer Blog
Recentemente, assinei meus APKs da linha de comando e recebi esse erro. Eu resolvi este erro através das instruções neste link:
http://developer.android.com/tools/publishing/app-signing.html
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name
Esse erro geralmente ocorre porque você está tentando pressionar uma atualização que foi assinada com uma chave diferente do que você usou no envio inicial. Você precisa encontrar a chave que usou na primeira vez em que publicou o aplicativo e usá -lo para assinar a atualização.
Eu tive o mesmo problema com meu aplicativo desenvolvido.
Vá para o gerenciador de aplicativos, limpe os dados do aplicativo e, em seguida, force, pare se estiver em execução e desinstalá -los. Em seguida, tente novamente instalar no mercado. Isso funcionou para mim.
https://market.android.com/details?id=net.trackmelite.googleMaps&feature=search_result
Eu sou novo no Android, mas eu foi capaz de resolver a questão magicamente: D
Usei o Java 1.7 com meu aplicativo e usei utilitários de linha de comando [Keytool, Jarsinger e Zipalign] para assinar meu aplicativo e receberam o mesmo erro.
Depois voltei ao Eclipse e usei a ferramenta Android "Exportar Pacote de Aplicativo Assinado" com a mesma Keystore com quem publiquei originalmente meu aplicativo; pegou esse apk e usou a linha de comando para zipalign. [Tinha que incrementar o código de versão no manifesto btw]. Eu não publiquei o antigo apk e publiquei este novo. Depois de fazer isso, Não teste imediatamente.
Não tenho certeza de quanto tempo você tem que esperar, mas o meu estava funcionando 4 horas depois, quando eu verifiquei :)