Skip to content

Instantly share code, notes, and snippets.

@1fabiopereira
Created December 13, 2017 10:51
Show Gist options
  • Save 1fabiopereira/52955f7450f6950817ec98972c28b28f to your computer and use it in GitHub Desktop.
Save 1fabiopereira/52955f7450f6950817ec98972c28b28f to your computer and use it in GitHub Desktop.
#!/bin/sh
# Interrompe o script ao primeiro erro
set -e
# Nome do keystore que ira usar no jarsigner
keystore_name=nome_do_keystore
# Guardo o nome do usuario corrente
me=$(whoami)
# Variavel que guarda a localizacao do keystore, usado no jarsigner
keystore_location=/home/$me/.android/$keystore_name.jks
# Caminho para o diretorio onde esta o apk
apk_directory=caminho_para_o_seu_apk
# Caminho do apk com o nome
apk_location=$apk_directory/nome_do_seu_apk.apk
# Caminho para o apk final, pronto para producao
apk_location_aligned=$apk_directory/nome_do_seu_apk-release.apk
# Alias name usado na keystore
alias_name=seu_alias_name
echo 'Fazendo a descompressão do apk'
unzip "$apk_location" -d "$apk_directory/apk-uncompressed"
echo 'Apagando o META-INF'
rm -r -f "$apk_directory/apk-uncompressed/META-INF"
echo 'Apagando APK antigo'
rm -f "$apk_location"
echo 'Comprimindo novamente com maior eficiencia'
7z a -tzip "$apk_location" "$apk_directory/*" -mm=Deflate -mpass=15 -mfb=258
echo 'Apagando pasta temporaria'
rm -r -f "$apk_directory/apk-uncompressed"
echo 'iniciando jarsigner'
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore "$keystore_location" "$apk_location" "$alias_name"
echo 'jarsigner finalizado'
echo 'iniciando zipalign'
# Corrigir local para o zipalign conforme o necessario
/home/$me/android-studio/sdk/build-tools/20.0.0/zipalign -v 4 "$apk_location" "$apk_location_aligned"
echo 'zipalign finalizado'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment