要解决这个报错首先我们要了解AAPT是什么东西。
aapt 全称为 Android Asset Packaging Tool,即为Android资源打包工具。作为unity开发人员,一般跟Android打交道比较少,感兴趣的同学可以先去官网学习学习。
问题分析
##aapt2版本
首先4.1.2-6503028是使用appt2 sdk版本。
我们可以在maven仓库查到具体版本信息
https://maven.google.com/web/index.html?q=aapt2#com.android.tools.build:aapt2:4.1.2-6503028
##报错
这类超时问题一般在Unity在出这个问题一般都是资源出了问题。
问题解决
最简单的方式是检查Unity导出的安卓工程中的build.gradle文件中的aaptOptions.noCompress数组是否过程或超过了255,打包文件中的数组长度要求低于255长度。在我们项目开发中,ab包分得细一点就比较容易超过这个上限。即使不超过上限,也比较容易出现打包过程中的timeout问题。
Unity默认设置为
aaptOptions {
noCompress '.unity3d', '.ress', '.resource', '.obb'**STREAMING_ASSETS**
}
在输出为build.gradle文件的时候,将StreamingAssets中文件全部放到数组,就比较容易让数组过长,导致编译过慢。但是我们的ab包必须被忽略,否则游戏加载会很慢。
可以取消按文件夹下所有文件忽略,而是按类型忽略。
修改为:文章来源:https://www.toymoban.com/news/detail-566886.html
aaptOptions {
//手动忽略指定文件及.assetbundle文件或.bundle文件
noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.assetbundle','.bundle']
}
如果你加载在Android上比IOS慢不少,也可以关注下是不是什么unity中需要的资源被Android打包再次压缩了。文章来源地址https://www.toymoban.com/news/detail-566886.html
到了这里,关于修复Unity编译时“AAPT2 aapt2-4.1.2-6503028-osx Daemon #0 Failed to shutdown within timeout”错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!