Eu nunca defini nenhuma senha para meu keystore e alias, então como eles são criados?

137

Como eu estava passando por algumas postagens na Internet aprendendo mais sobre como assinar seu aplicativo Android , recebi uma postagem como como assiná-lo e algo sobre o que se você perdeu seu arquivo ou senha de armazenamento de chaves.

A pergunta que estou aqui é: nunca criei um keystore, ou seu apelido ou senha, então como posso esquecê-lo?

Eu sei que para Android usamos a senha android , então, se a senha é por padrão android, como alguém pode esquecê-la? (Tenho certeza de que deve haver outra maneira de criar novos keystores).

Finalmente, se android é a senha padrão, qual é o alias padrão?

Anas Azeem
fonte

Respostas:

409

Assinando no modo de depuração

As ferramentas de criação do Android fornecem um modo de assinatura de depuração que facilita o desenvolvimento e a depuração do aplicativo, enquanto atendem aos requisitos do sistema Android para assinar o APK. Ao usar o modo de depuração para criar seu aplicativo, as ferramentas do SDK chamam o Keytool para criar automaticamente um keystore e chave de depuração. Essa chave de depuração é usada para assinar automaticamente o APK, assim você não precisa assinar o pacote com sua própria chave.

As ferramentas do SDK criam o keystore / key de depuração com nomes / senhas predeterminados:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

Se necessário, você pode alterar o local / nome do keystore / key de depuração ou fornecer um keystore / key de depuração personalizado a ser usado. No entanto, qualquer keystore / chave de depuração personalizada deve usar os mesmos nomes e senhas de keystore / key que a chave de depuração padrão (conforme descrito acima). (Para fazer isso no Eclipse / ADT, vá para Windows> Preferências> Android> Compilar .)

Cuidado: Você não pode liberar seu aplicativo ao público quando assinado com o certificado de depuração.

Fonte: Developer.Android

Comunidade
fonte
Isso foi muito informativo. Aceitando isso como resposta. Mais uma pergunta, senhor. Um único keystore possui muitas chaves ou o keystore e a chave são a mesma coisa?
Anas Azeem 03/09/2013
Um keystore pode ter muitas chaves e você terá que criar um alias diferente para as chaves, acho que agora está clara a diferença entre key e keystore. O keystore é um contêiner de chaves
Usei-o para a assinatura de um APK não assinado eu não poderia instalar: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~ / .android / debug.keystore my_unsigned.apk androiddebugkey Obrigado
Ivan Morgillo
@ user2730944 Você poderia comemorar como descobrir qual senha é "android", pois a partir da fonte fornecida desde que não seja evidente?
spin_eight
22

se você quiser configurá-los gradle, deve parecer

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}
Even Cheng
fonte
3

quando executamos o aplicativo no eclipse, o apk generate é sinal por padrão do Keystore, fornecido pelo android.

Mas se você quiser fazer upload de seu aplicativo na play store, precisará criar seu próprio keystore. O Eclipse já fornece interface GUI para criar um novo keystore. E você também pode criar keystore através da linha de comando.

o alias padrão é

androiddebugkey
Biraj Zalavadia
fonte
Obrigado pela sua resposta, mas qualquer ideia do que é a senha para a chave, uma vez senha para o armazenamento foi "android" (se não me engano)
Anas Azeem
@AnasAzeem ver minha resposta
3
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

Uso essas informações e giro com êxito o APK assinado.

Rubel Hasan
fonte
2

Melhor do que todas as opções, você pode definir signingConfigque seja igual ao seu debug.signingConfig. Para fazer isso, basta fazer o seguinte:

android {
  ...
  buildTypes {
    ...
    wantedBuildType {
      signingConfig debug.signingConfig
    }
  }
}

Com isso, você não precisará saber onde debug.keystoreestá, o aplicativo funcionará para toda a equipe, mesmo que alguém use um ambiente diferente.

brunodles
fonte
Excelente! Essa é a maneira concisa de instalar um tipo de compilação debugProguard.
precisa saber é o seguinte
1

Todas essas respostas e ainda falta apenas uma. Ao criar sua credencial de autenticação na seção API do Google no console do desenvolvedor, verifique se (especialmente se é o primeiro) clicou na opção 'tela de consentimento'. Se você não tiver o 'título' e qualquer outro campo obrigatório preenchido, a chamada falhará com esta opção.

user1318747
fonte