Skip to content

Instantly share code, notes, and snippets.

@jorge-menezes
Forked from arianimartins/DEBUG mode
Created June 30, 2021 22:26
Show Gist options
  • Save jorge-menezes/2f8ebda035aea2974b736ab8af7681ce to your computer and use it in GitHub Desktop.
Save jorge-menezes/2f8ebda035aea2974b736ab8af7681ce to your computer and use it in GitHub Desktop.
Gerar KEY - Android
1. Abra o prompt e cole o seguinte comando:
keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v
2. Se for necessário digitar alguma senha, ela é: 'android'
1) Download Openssl <http://code.google.com/p/openssl-for-windows/downloads/list>
2) Coloque o arquivo na pasta desejada;
3) Copie o endereço do arquivo 'debug.keystore' que fica na pasta .android e o endereço do OpenSSL também.
4) No prompt de comando vá para o diretório do seu JDK ((C:\Program Files\Java\jdk1.6.0_05\bin)
5) Insira o seguinte código:
keytool -exportcert -alias androiddebugkey -keystore <PATHANDROID>\debug.keystore > <PATHOPENSSL>\bin\debug.txt
6) Se pedir a senha, ela é 'android', se não pedir nada é provável que o endereço da sua debug.key esteja errado.
7) Se abrir a pasta do OpenSSL você vai ver o seguinte arquivo: debug.txt
8) Copie o seguinte código:
openssl sha1 -binary debug.txt > debug_sha.txt
9) Vai ser gerado mais um arquivo 'debug_sha.txt'
10) Mais uma vez, copie e cole o seguinte código:
openssl base64 -in debug_sha.txt > debug_base64.txt
11) Vai ser gerado o arquivo 'debug_base64.txt' nessa mesma pasta.
Abra o arquivo e a sua KeyHash vai estar ali.
Uma segunda opção, e que da menos trabalho é inserindo o seguinte código no onCreate da sua Activity principal.
try {
PackageInfo info = getPackageManager().getPackageInfo("com.facebook.samples.loginhowto", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
}catch (NameNotFoundException e){
}catch (NoSuchAlgorithmException e){
}
Uma terceira opção também é:
keytool -exportcert -alias androiddebugkey -keystore "C:ENDEREÇO\debug.keystore" | "C:ENDEREÇO\bin\openssl" sha1 -binary |"C:ENDEREÇO\bin\openssl" base64
Depois de gerar a chave de produção é recomendavel que use o 'zipalign' para otimizar o processo na hora de gerar a APK.
O SDK tools cria a debug.keystore/key com nomes e senhas pre-definidas:
Keystore name: "debug.keystore"
Keystore pass: "android"
Key alias: "androiddebugkey"
Key pass: "android"
CN: "CN=Android Debug,O=Android,C=US"
Para gerar a release key é possível usar o Export Wizard.
1. Selecione o projeto no Package Explorer e selecione File > Export.
Escolha a opção Export Android Application.
2. Ao completar os passos sua aplicação estará pronta para distribuição.
Através de código: $ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Compilando a aplicação em release mode:
Dê um clique direito no projeto desejado e selecione Android Tools > Export Unsigned Application Package.
Escolha o destino da chave. (Como alternativa, abra o AndroidManifest.xml no Eclipse e na tab clique em Export an unsigned APK.
Assinsando a aplicação com a chave privada:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore
my_application.apk alias_name
$ jarsigner -verify -verbose -certs my_application.apk (verificar se criou corretamente)
$ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment