Prólogo: La actualización en caliente del juego es un requisito básico; afortunadamente, cocos-creator ha preparado una solución para nosotros. En comparación con la solución de actualización en caliente de U3D, ¡es muy fácil de usar! , sin prestar demasiada atención a los detalles
Este artículo utiliza cocos-creator versión 3.5.2
Documento oficial: Hot Update Example Tutorial Cocos Creator https://docs.cocos.com/creator/3.5/manual/zh/advanced-topics/hot-update.html
Versión de demostración: mirrors_cocos-creator/tutorial-hot-update - Gitee.com https://gitee.com/mirrors_cocos-creator/tutorial-hot-update/tree/master
➤ La secuencia de comandos en la carpeta de extensiones : se usa principalmente para agregar lógica de ruta de recursos a main.js en el subdirectorio de compilación correspondiente después de que se completa la compilación, es decir, para ubicar su ruta de recursos actualizada ;
De hecho, es una función de ejecución inmediata, añadiéndole la ruta referenciada
➤ La secuencia de comandos version_generator.js se usa para codificar y firmar los recursos que crea y, finalmente, generar archivos project.manifest y version.manifest para comparar recursos, ya sea para descargarlos y actualizarlos.
El contenido de project.manifest es más o menos el siguiente: registre el tamaño del archivo de valor hash del archivo de recursos y la lista de archivos
La función principal del archivo version.manifest es registrar la información de la versión del recurso actual 1.0.3
➤ Cuando el lado de la aplicación necesite buscar actualizaciones, comparará los archivos del servidor y la versión local.manifest . Si la versión es la misma, se omitirá. De lo contrario, el servidor project.manifest y el proyecto local.mainfest serán en comparación con encontrar los archivos que necesitan ser descargados. ➤ ➤ ➤ ➤
>>>>>>> Si no se ha actualizado, encontrará los archivos version.manifest y project.mainfest agregados al directorio de activos de la ruta del proyecto , por lo que agregaremos los archivos project.manifest y version.manifest a la ruta de los activos del proyecto; de lo contrario, cuando no se pueda encontrar la primera actualización, ¡ será un error comparar el texto con el servidor !
Aquí básicamente explicamos las funciones de varios archivos y scripts, comencemos directamente;
➥ Cree el proyecto para publicar la aplicación
Objetivo : crear un paquete principal para recursos de actualización en caliente posteriores
página:
Modifique el registro en la página de lanzamiento, el resto puede ser predeterminado, haga clic en Construir
Ejecutar en la raíz del proyecto : archivo version_generator
node version_generator.js -v 1.0.0 -u http://192.168.10.88:8080/remote-assets/ -s build/android\assets -d remote-assets/
- -v especifica la versión del recurso
- -u establece la ruta de recursos de su servidor
- -s especifica la ruta al archivo de recursos generado por su proyecto de compilación ( genera un manifiesto para el recurso )
- -d Genera las rutas de archivo de project.manifest y version.manifest, las colocamos temporalmente en el directorio de activos remotos del directorio raíz del proyecto;
Después de ejecutar: Habrá dos archivos más en la carpeta de activos remotos;
Debido a que es un paquete principal : necesitamos copiar estos dos archivos enruta de activos del directorio raíz del proyecto . ( Reemplace los dos archivos que vienen con Demo, no podemos usar la información de configuración para estos dos archivos )
Observaciones: debido a que el archivo project.manifest version.manifest en el proyecto recién construido es incorrecto ( la dirección del servidor de archivos en el proyecto de demostración ) o no está disponible (no en el nuevo proyecto ), necesitamos construir los recursos que contienen el proyecto. manifest version.manifest archivo de compilación de nuevo;
¡Android Studio ejecuta el proyecto de Android que construimos! !
Aquí hay un poco más : debido a que lo probé en la red de área local, usé solicitudes http; Android 7.0 y versiones posteriores requieren una configuración adicional para continuar con el acceso;
Nuestro teléfono ya está funcionando:
➥ Modificar la página y crear recursos que necesitan ser actualizados
Ⅰ: Agregamos una animación a la interfaz de usuario :
Ⅱ Reconstruir el proyecto:
Ⅲ Una vez completada la compilación, vuelva a generar project.manifest y version.manifest, * agregue uno al número de versión , de lo contrario, la versión anterior será
node version_generator.js -v 1.0.1 -u http://192.168.10.88:8080/remote-assets/ -s build/android\assets -d remote-assets/
Creamos una nueva carpeta llamada activos remotos en el escritorio (la ubicación es opcional sin el directorio raíz del proyecto) , copiamos el archivo project.manifest y version.manifest recién generados y todos los archivos de activos que construyen la ruta de recursos del proyecto en él: poner en el servidor.
Aproximadamente de la siguiente manera:
Luego use el contenedor para ejecutar; se puede usar ngixn iis, lo que uso aquí es: servidor en vivo; si se puede acceder en el navegador, será exitoso
* No vuelva a ejecutar Android Studio en este momento; si lo ejecuta nuevamente, la aplicación se cargará con los recursos más recientes; abrimos la aplicación directamente
➥ Ejecute la aplicación y actualice los recursos
No vuelva a ejecutar Android Studio en este momento ; si lo vuelve a ejecutar, la aplicación se cargará con los últimos recursos;
Abrimos la APP directamente:
Después de actualizar el recurso y reiniciar, ¡la animación recién agregada ya se está reproduciendo! ¡Ya terminaste!