Unity-编译构建Android的问题记录

文章目录

  • 报错:AAPT2 aapt2-4.1.2-6503028-osx Daemon #0 Failed to shutdown within timeout
    • 报错信息解读:
    • 原因分析
    • 最终处理方法

报错:AAPT2 aapt2-4.1.2-6503028-osx Daemon #0 Failed to shutdown within timeout

报错信息解读:

  • aapt2:这是 Android Asset Packaging Tool 2 的缩写,是 Android 开发中用于处理资源文件的工具。
  • 4.1.2-6503028:这是 aapt2 的版本号,表示使用的具体版本。其中:
    • 4.1.2 是主版本号,表示主要的功能更新和修复。
    • 6503028 是构建号或修订号,用于标识该版本的具体构建或修订。
  • osx:表示该 aapt2 版本是为 macOS 操作系统编译的。
  • Daemon #0:表示这是 aapt2 的第一个守护进程实例。在多进程环境中,守护进程用于处理并发任务。
  • Failed to shutdown within timeout:表示 aapt2 守护进程在关闭时超时,未能在规定的时间内完成关闭操作。

原因分析

在 Unity 中遇到这个问题,可能的原因是

  1. noCompress 数组过大
    • aaptOptions.noCompress 数组包含超过 255 个条目时,AAPT2 需要处理大量的免压缩资源。这不仅会增加编译时间,还可能导致 AAPT2 进程消耗过多资源,从而无法在规定时间内完成工作,导致超时错误。
  2. 资源管理不当
    • 如果项目中包含了大量不需要压缩的资源文件,可能会导致 AAPT2 在处理这些文件时遇到性能瓶颈。

那么对应的解决方法就可能有以下:

  1. 优化 noCompress 配置

    • 审查和精简列表:检查 aaptOptions.noCompress 中的条目,确保只包含确实需要免压缩的资源类型或文件。例如,通常只需要对特定的文件类型(如 .xml.png 等)设置免压缩,而不是对所有文件都进行设置。
    • 合并相似条目:如果有多个文件类型需要免压缩,可以尝试合并这些条目,减少数组的长度。
    android {aaptOptions {noCompress 'xml', 'png', 'jpg' // 仅列出需要免压缩的类型}
    }
    
  2. 使用通配符或模式匹配

    • 如果有大量类似的文件需要免压缩,可以使用通配符或模式匹配来简化配置,减少条目数量。
    android {aaptOptions {noCompress '**/*.xml', '**/*.png' // 使用通配符匹配多个文件}
    }
    

最终处理方法

Unity默认设置为

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

这里可以先检查下配置是否符合预期。
在符合预期的前提下,我们可以看到StreamingAssets中的文件会被全部放到数组,这个比较容易让数组过长,导致编译过慢。可能就要取消按文件夹忽略,而是跟前面几项一样,按类型忽略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/894591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【axios二次封装】

axios二次封装 安装封装使用 安装 pnpm add axios封装 // 进行axios二次封装:使用请求与响应拦截器 import axios from axios import { ElMessage } from element-plus//创建axios实例 const request axios.create({baseURL: import.meta.env.VITE_APP_BASE_API,…

SQL进阶实战技巧:如何构建用户行为转移概率矩阵,深入洞察会话内活动流转?

目录 1 场景描述 1.1 用户行为转移概率矩阵概念 1.2 用户行为转移概率矩阵构建方法 (1) 数据收集

Vue3.0实战:大数据平台可视化(附完整项目源码)

文章目录 创建vue3.0项目项目初始化项目分辨率响应式设置项目顶部信息条创建页面主体创建全局引入echarts和axios后台接口创建express销售总量图实现完整项目下载项目任何问题都可在评论区,或者直接私信即可。 创建vue3.0项目 创建项目: vue create vueecharts选择第三项:…

Java自定义IO密集型和CPU密集型线程池

文章目录 前言线程池各类场景描述常见场景案例设计思路公共类自定义工厂类-MyThreadFactory自定义拒绝策略-RejectedExecutionHandlerFactory自定义阻塞队列-TaskQueue(实现 核心线程->最大线程数->队列) 场景1:CPU密集型场景思路&…

【VM】VirtualBox安装ubuntu22.04虚拟机

阅读本文之前,请先根据 安装virtualbox 教程安装virtulbox虚拟机软件。 1.下载Ubuntu系统镜像 打开阿里云的镜像站点:https://developer.aliyun.com/mirror/ 找到如图所示位置,选择Ubuntu 22.04.3(destop-amd64)系统 Ubuntu 22.04.3(desto…

Pandas基础08(分箱操作/时间序列/画图)

3.8.1 Pandas分箱操作 数据分箱(Binning) 是一种数据预处理方法,用于将连续型变量的数值范围分割成若干个区间或“箱”(bins),将数据按照这些区间进行分类,从而转换为离散型变量。这种方法常用…

C#,shell32 + 调用控制面板项(.Cpl)实现“新建快捷方式对话框”(全网首发)

Made By 于子轩,2025.2.2 不管是使用System.IO命名空间下的File类来创建快捷方式文件,或是使用Windows Script Host对象创建快捷方式,亦或是使用Shell32对象创建快捷方式,都对用户很不友好,今天小编为大家带来一种全新…

国产编辑器EverEdit - 输出窗口

1 输出窗口 1.1 应用场景 输出窗口可以显示用户执行某些操作的结果,主要包括: 查找类:查找全部,筛选等待操作,可以把查找结果打印到输出窗口中; 程序类:在执行外部程序时(如:命令窗…

Vue-data数据

目录 一、Vue中的data数据是什么?二、data支持的数据类型有哪些? 一、Vue中的data数据是什么? Vue中用到的数据定义在data中。 二、data支持的数据类型有哪些? data中可以写复杂类型的数据,渲染复杂类型数据时只要遵…

02.03 递归运算

使用递归求出 1 1/3 -1/5 1/7 - 1/9 ... 1/n的值。 1>程序代码 #include <stdio.h> #include <string.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #inc…

数据分析系列--⑥RapidMiner构建决策树(泰坦尼克号案例含数据)

一、资源下载 二、数据处理 1.导入数据 2.数据预处理 三、构建模型 1.构建决策树 2.划分训练集和测试集 3.应用模型 4.结果分析 一、资源下载 点击下载数据集 二、数据处理 1.导入数据 2.数据预处理 三、构建模型 1.构建决策树 虽然决策树已经构建,但对于大多数初学者或…

高阶开发基础——快速入门C++并发编程6——大作业:实现一个超级迷你的线程池

目录 实现一个无返回的线程池 完全代码实现 Reference 实现一个无返回的线程池 实现一个简单的线程池非常简单&#xff0c;我们首先聊一聊线程池的定义&#xff1a; 线程池&#xff08;Thread Pool&#xff09; 是一种并发编程的设计模式&#xff0c;用于管理和复用多个线程…

pytorch实现主成分分析 (PCA):用于数据降维和特征提取

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 使用 PyTorch 实现主成分分析&#xff08;PCA&#xff09;可以通过以下步骤进行&#xff1a; 标准化数据&#xff1a;首先&#xff0c;需要对数据进行标准化处理&#xff0c;确保每个特征的均值为 0&#xff0c;方差…

100 ,【8】 buuctf web [蓝帽杯 2021]One Pointer PHP(别看)

进入靶场 没提示&#xff0c;去看源代码。 user.php <?php // 定义一个名为 User 的类&#xff0c;该类可用于表示用户相关信息或执行与用户有关的操作 class User{// 声明一个公共属性 $count&#xff0c;可在类的内部和外部直接访问// 这个属性可能用于记录与用户相关…

巧妙利用数据结构优化部门查询

目录 一、出现的问题 部门树接口超时 二、问题分析 源代码分析 三、解决方案 具体实现思路 四、优化的效果 一、出现的问题 部门树接口超时 无论是在A项目还是在B项目中&#xff0c;都存在类似的页面&#xff0c;其实就是一个部门列表或者叫组织列表。 从页面的展示形式…

QT简单实现验证码(字符)

0&#xff09; 运行结果 1&#xff09; 生成随机字符串 Qt主要通过QRandomGenerator类来生成随机数。在此之前的版本中&#xff0c;qrand()函数也常被使用&#xff0c;但从Qt 5.10起&#xff0c;推荐使用更现代化的QRandomGenerator类。 在头文件添加void generateRandomNumb…

JavaFX - 3D 形状

在前面的章节中&#xff0c;我们已经了解了如何在 JavaFX 应用程序中的 XY 平面上绘制 2D 形状。除了这些 2D 形状之外&#xff0c;我们还可以使用 JavaFX 绘制其他几个 3D 形状。 通常&#xff0c;3D 形状是可以在 XYZ 平面上绘制的几何图形。它们由两个或多个维度定义&#…

深入理解开放寻址法中的三种探测序列

一、引言 开放寻址法是解决散列表中冲突的一种重要方法&#xff0c;当发生冲突&#xff08;即两个不同的键通过散列函数计算得到相同的散列值&#xff09;时&#xff0c;它会在散列表中寻找下一个可用的存储位置。而探测序列就是用于确定在发生冲突后&#xff0c;依次尝试哪些…

【双指针题目】

双指针 美丽区间&#xff08;滑动窗口&#xff09;合并数列&#xff08;双指针的应用&#xff09;等腰三角形全部所有的子序列 美丽区间&#xff08;滑动窗口&#xff09; 美丽区间 滑动窗口模板&#xff1a; int left 0, right 0;while (right < nums.size()) {// 增大…

为什么命令“echo -e “\033[9;0]“ > /dev/tty0“能控制开发板上的LCD不熄屏?

为什么命令"echo -e “\033[9;0]” > /dev/tty0"能控制开发板上的LCD不熄屏&#xff1f; 在回答这个问题前请先阅读我之前写的与tty和终端有关的博文 https://blog.csdn.net/wenhao_ir/article/details/145431655 然后再来看这条命令的解释就要容易些了。 这条…