Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 12549|Respuesta: 0

[jónico] Práctica de aplicaciones para Android para desarrollo ionic (2): Apk de empaquetado para Android

[Copiar enlace]
Publicado en 20/6/2018 10:16:52 | | | |
Despliegue en teléfonos móviles y uso de plugins Cordova

Hemos desarrollado una aplicación web sencilla y ahora vamos a hacer algunos preparativos antes de desplegarla en móvil.
Ionic soporta dos plataformas: iOS y Android, el proyecto Ionic por defecto no añade estas dos plataformas, necesitamos añadirlo manualmente y ponerlo en CD al directorio de desarrollo para ejecutar el comando:


Aquí solo necesito la plataforma Android y, tras ejecutarla, ejecutaré el comando para ver la lista de plataformas que has añadido:

> Andén de Córdova LS

Has sido excluido de la telemetría. Para cambiar esto, ejecuta: telemetría córdova activada.
Plataformas instaladas:
  Android 7.0.0
Plataformas disponibles:
  navegador ~5.0.1
  iOS ~4.5.4
  OSX ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Paquete Android


(Si hay un problema con este comando, puedes eliminar -release y luego depurar compilación, y la compilación está completada, DOS mostrará la ubicación del directorio apk)

Si tus ojos inteligentes detectan las siguientes palabras: ¡Construye el éxito! Significa que has empaquetado con éxito. Ten paciencia, al final de la línea de comandos te indicará dónde se genera el apk.

Cuando ejecuto de nuevo el comando de empaquetado, el error será el siguiente: el error es que la versión de jdk está demasiado alta, yo soy la versión "jdk-10.0.1" y puedo volver a descargar e instalar una versión "1.8.0_171" para solucionar el problema!!

C:\project\android\myApp>ionic cordova build android --release
Ejecutando scripts de aplicación: --plataforma android --target cordova
[17:06:47] desarrollo de build iniciado ...
[17:06:47] Limpio arrancó...
[17:06:47] limpio terminado en 8 ms
[17:06:47] Copia iniciada ...
[17:06:47] Deeplinks comenzaron ...
[17:06:47] Deeplinks terminó en 15 ms
[17:06:47] Transpile ha comenzado...
[17:06:50] Transpile terminó en 3,71 s
[17:06:50] El preproceso ha comenzado ...
[17:06:50] el preproceso terminado en 1 ms
[17:06:50] webpack ha comenzado...
[17:06:51] Copia terminada en 3,96 s
[17:06:56] Webpack terminó en 5,58 s
[17:06:56] Empezó la descarada ...
Sin la opción 'de', PostCSS podría generar un mapa de fuente incorrecto y no encontrará la configuración de Browserslist. Ponlo en ruta de archivo CSS o en 'indefinido' para evitar esta advertencia.
[17:06:58] Sass terminó en 2,05 s
[17:06:58] El postproceso comenzó ...
[17:06:58] postproceso terminado en 10 ms
[17:06:58] La pelusa empezó ...
[17:06:58] desarrollo de compilación terminado en 11.65 s
> Build Cordova para Android --lanzamiento

Has sido excluido de la telemetría. Para cambiar esto, ejecuta: telemetría córdova activada.
Se detectó el proyecto Android Studio

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(nodo:14940) UnhandledPromiseRejectionWarning: Rechazo de promesa no gestionado (id de rechazo: 1): CordovaError: Fallida comprobación de requisitos para JDK 1.8 o superior
(nodo:14940) [DEP0018] DepreciaAdvertencia: Los rechazos de promesas no gestionadas quedan obsoletos. En el futuro, los rechazos de promesas que no se gestionan terminarán el proceso de Node.js con un código de salida distinto de cero.

[17:07:01] Lint terminó en 3,00 s

Ejecuta el comando anterior de nuevo, porque la velocidad de mi red es lenta y es la primera vez que ejecuto, descarga muchos componentes, etc., y lo ejecuto durante 12 minutos, como se muestra en la figura de abajo:



C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。

Copio "app-release-unsigned.apk" a mi teléfono (Huawei Honor 10), y el error será el siguiente:



Esto se debe a que la app no está firme y no puede instalarse.

Firma APK

Como mi directorio Java está en las variables de entorno, solo necesito ejecutar el comando cmd de la siguiente manera:

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSA utiliza el algoritmo RSA para cifrar firmas
       -validez 40000 Validez 4000 días
       -keystore itsvse.keystore nombre de archivo */

apksigner se encuentra en el directorio build-tools del directorio SDK. Cabe señalar que el método de firma v2 solo se introdujo después de Android 7.0, por lo que solo apksigner.jar puede encontrarse en el SDK\build-tools\ de la versión >25.
Abre el cmd, corta el directorio a SDK\build-tools\Número de versión\lib (por ejemplo, C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib) y ejecuta:


Ejemplo:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -keystore demo.keystore keystore ubicación
       -signedjar demor_signed.apk demo.apk demo.keystore firmed oficialmente, el archivo demo_signed generado tras firmar en orden en los tres parámetros, el archivo demo.apk firmar y el keystore demo.keystore.*/



Comprueba si el apk ya está firmado:

Copiamos el archivo "output.apk" firmado al teléfono y luego lo instalamos; se puede instalar normalmente y puede funcionar con normalidad, como se muestra en la figura de abajo:







Anterior:Cómo desinstalar completamente varias versiones de Java
Próximo:No se encontró ninguna fábrica de componentes para ListPage. ¿La has añadido a
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com