Diferencia entre revisiones de «PDM Avanzado Empaquetado e distribución»
Línea 123: | Línea 123: | ||
+ | |||
+ | <br /> | ||
+ | '''[https://wiki.cifprodolfoucha.es/index.php?title=Programaci%C3%B3n_de_dispositivos_m%C3%B3biles#UNIDADE_8:_Empaquetado_e_distribuci.C3.B3n._Xeraci.C3.B3n_de_arquivos_APK. Enlace a la página principal de la UD8]''' | ||
+ | <br /> | ||
+ | <br /> | ||
+ | '''[https://wiki.cifprodolfoucha.es/index.php?title=Programación_de_dispositivos_móbiles Enlace a la página principal del curso]''' | ||
+ | <br /> | ||
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2015). | <br> -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2015). |
Revisión del 19:04 10 ene 2021
Sumario
Introdución
Unha vez temos a aplicación rematada chega o momento de, ou ben pasala ó/ós usuarios que van facer uso dela ou ben subila ó Market de Android para a súa comercialización.
Para poder realizar este paso é necesario xerar o APK da aplicación cun certificado válido.
Temos que xerar o arquivo apk da aplicación pero coa aplicación 'firmada' cun keystore que ven ser un almacén de claves.
Cando xeremos o apk primeiro daranos a opción de crear un novo almacén ou utilizar un xa existente.
Nun almacén imos poder 'gardar' moitas aplicacións. Cada almacén terá unha clave.
Así mesmo, cada aplicación terá outra clave asociada o seu certificado.
Polo tanto cando xeremos o apk imos ter que gardar dúas claves: unha para o almacén e outra para cada unha das aplicacións gardadas en dito almacén.
A firma é moi importante xa que cada vez que cambiemos de versión teremos que firmala có mesmo certificado para que o S.O. Android o interprete como unha actualización da aplicación.
Modificando a versión compilada de debug a release
- Máis información neste enlace.
Escollemos a opción de menú Build => Select Build Variant. Lembrar que xa comentamos algo sobre como xerar diferentes versións no punto Compilando diferentes versións desta Wiki.
Graficamente
Simplemente imos a opción de menú Build e escollemos Generated Signed Apk.
Aparece un asistente:
A partires da versión 3.2 podemos elixir xerar a aplicación en un formato aab, que é outra forma de subir a aplicación a Google Play. Este formato 'trocea' a aplicación en trozos para poder xerar o apk personalizado para cada tipo de dispositivo permitindo aforrar espazo. Máis información neste enlace.
Prememos nos puntos suspensivos e indicamos o nome e localización do almacén de claves. Asociamos unha password a dito almacén. Nesta mesma pantalla imos crear unha key (lembrar que nun almacén podemos ter moitas keys diferentes). Temos que indicar: Alias: Un alias para o key. Pode ser o mesmo que o nome ou unha abreviación do mesmo. Password: Novamente asinámoslle unha contrasinal pero esta vez á key. Ten que ter o lo menos 6 caracteres. Esta vai ser a contrasinal da key da aplicación. Validity (years): Aquí indicamos o tempo que vai ser válida a nosa key en anos. Os seguintes campos fan referencia a información persoal e da organización. O campo de Country Code, se pode consultar no listado da ISO 3166-1. No noso caso sería ES.
Como paso final temos que indicar como firmar a aplicación. A partires do Android 7.0 aparece unha nova forma de 'firmar' máis segura (v2). Podemos marcar as dúas opcións. Se temos problemas de instalación en dispositivos cunha versión Android 7.0 ou superior podemos desmarcar a opción v2. Fixarse que estamos xerando a versión release.
Agora xa podemos instalar o apk en calquera dispositivo con Android.
- Nota: Indicar que cando creamos o almacén de chaves, pode saír o seguinte aviso de erro: 'el almacén de claves jks utiliza un formato propietario. se recomienda migrar a pkcs12'
- O almacén funciona correctamente, pero se queremos pasalo ao formato recomendado temos que executar a seguinte orde:
1 keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_FILE.p12] -srcstoretype JKS - deststoretype PKCS12
- keytool é un executable que se atopa no cartafol /bin/ do Java SDK instalado.
- Vos poderá introducir o password do novo almacén (formato p12), o password do almacén anterior (formato jsk) e o password do certificado/s gardados no almacén.
Dende consola
Esta información tamén se pode obter dende unha consola ou terminal. En Windows debemos utilizar unha consola con permisos administrativos (executar como administrador).
Debemos situarnos coa orde cd (se non o temos no path) no cartafol onde estea instalado o JDK e dentro deste no cartafol /bin/.
Nese cartafol se atopa o executable keytool.
- LINUX:
1 ./keytool -genkey -v -keystore almacen.keystore -alias clavealmacen -keyalg RSA -keysize 2048 -validity 10000
- WINDOWS:
1 keytool -genkey -v -keystore almacen.keystore -alias clavealmacen -keyalg RSA -keysize 2048 -validity 10000
Neste caso estariamos a crear un almacén e un certificado (key) válido por 10.000 días.
Ó darlle a 'enter' pediranos o password do almacén (mínimo 6 caracteres) e a información que preguntou antes graficamente para o certificado (key):
Unha vez feito xa temos o almacén creado.
Obtendo a pegada dixital SHA1 dun almacén para utilizar con GoogleMap
Relacionado coa Unidade vista anteriormente de Google Map temos a opción de obter a clave SHA1 dun almacén de datos, necesario para poder ver o mapa de Google Map nunha aplicación que queiramos dar ós usuarios.
Para obter o SHA1 debemos escribir dende consola:
1 keytool -list -keystore almacen.keystore
Sendo almacen.keystore o almacén onde se atopa a key que imos utilizar para firmar a nosa aplicación.
Firmando automaticamente una aplicación tanto en modo debug como release
- Podemos facer que de forma automática o Android Studio 'firme' a aplicación antes de instala no emulador / dispositivo.
- Para facelo, imos a ventá de Project Structure:
- Imos a lapela de Signing e prememos o símbolo 'máis'. Indicamos os datos do almacén de claves creado previamente.
- Agora debemos editar o arquivo build.gradle a nivel de módulo.
- Nese arquivo estará a configuración creada no paso anterior.
- Temos que modificar as entradas 'release' e 'debug' para que fagan uso do almacén de claves configurado anteriormente.
Enlace a la página principal de la UD8
Enlace a la página principal del curso
-- Ángel D. Fernández González e Carlos Carrión Álvarez -- (2015).