Se corrigió el error "AAPT2 aapt2-4.1.2-6503028-osx Daemon #0 Failed to shutdown within timeout" al compilar con Unity

Para solucionar este error, primero debemos entender qué es AAPT .

El nombre completo de aapt es Android Asset Packaging Tool, que es la herramienta de empaquetado de recursos de Android. Como desarrollador de Unity, generalmente trato menos con Android. Los estudiantes interesados ​​pueden visitar el sitio web oficial para aprender primero.

análisis del problema

## versión aapt2

En primer lugar, 4.1.2-6503028 usa la versión appt2 sdk.

Podemos encontrar la información de la versión específica en el almacén de maven

https://maven.google.com/web/index.html?q=aapt2#com.android.tools.build:aapt2:4.1.2-6503028

## error

Este tipo de problema de tiempo de espera generalmente es causado por un problema de recursos en Unity.

problema resuelto

La forma más sencilla es verificar si la matriz aaptOptions.noCompress en el archivo build.gradle en el proyecto de Android exportado por Unity es normal o supera los 255, y la longitud de la matriz en el archivo de empaquetado debe ser inferior a 255. En el desarrollo de nuestro proyecto, es más fácil exceder este límite superior si el paquete ab se divide más finamente. Incluso si no se supera el límite superior, es relativamente fácil tener un problema de tiempo de espera durante el proceso de empaquetado.

La unidad por defecto es

aaptOptions {
        noCompress '.unity3d', '.ress', '.resource', '.obb'**STREAMING_ASSETS**
    }

Cuando se genera como un archivo build.gradle, colocar todos los archivos en StreamingAssets en una matriz facilita que la matriz sea demasiado larga, lo que da como resultado una compilación lenta. Pero nuestro paquete ab debe ignorarse, de lo contrario, el juego se cargará muy lentamente.

Puede cancelar la omisión de todos los archivos en la carpeta, pero ignorar por tipo.

cambie a:

aaptOptions {
        //手动忽略指定文件及.assetbundle文件或.bundle文件
        noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.assetbundle','.bundle']
    }

Si su carga en Android es mucho más lenta que en IOS, también puede prestar atención a si Android empaqueta y comprime nuevamente los recursos necesarios en Unity.

Supongo que te gusta

Origin blog.csdn.net/weixin_36719607/article/details/126201771
Recomendado
Clasificación