Firma de app
Generación de llave
keytool
keytool -keystore /tmp/app.keystore -genkey -keyalg RSA -keysize 2048 -dname "CN=app-cn, OU=app-ou, O=app-o, L=app-l, ST=app-st, C=app-c" -validity 180 -alias app-keystore
Firmado de app
jarsigner
jarsigner -keystore /tmp/app.keystore app-compiled.apk app-keystore
apksigner
# Creación de archivo con contraseña
echo "<password>" > password.txt
# Firmado de app
apksigner sign --ks /tmp/app.keystore --ks-pass file:password.txt --v1-signing-enabled true --v2-signing-enabled true app-compiled.apk
Optimización de APK
zipalign
zipalign -p -f -v 4 app-compiled.apk app-aligned.apk
-p =alineación de páginas de memoria para archivos de objetos compartidos.
-f = Sobrescribe archivo de output (
app-aligned.apk
).-v = modo verboso.
4 = 4 bytes para sistemas de 32 y 64 bits.
Confirmación de alineación de app-aligned.apk
.
zipalign -c -v 4 app-aligned.apk
Proceso de firmado de app
echo -e "password\npassword" > password.txt
cat password.txt | keytool -keystore /tmp/app.keystore -genkey -keyalg RSA -keysize 2048 -dname "CN=app-cn, OU=app-ou, O=app-o, L=app-l, ST=app-st, C=app-c" -validity 180 -alias app-keystore
zipalign -p -f -v 4 app-compiled.apk app-aligned.apk
echo password | apksigner sign --ks /tmp/app.keystore --out app-signed.apk app-aligned.apk
adb uninstall $(aapt dump badging app-compiled.apk | grep package | awk -F"'" '{print $2}')
adb install app-signed.apk
Última actualización
¿Te fue útil?