关于上传 GP aab 包,报错 “Invalid uncompressed glob“ 的解决

之前打包盒上传 aab 包一直没问题,今天突然报错如下:

复制代码
针对您上传的 App Bundle 运行 bundletool build-apks 时出错。
请在本地运行 bundletool build-apks,确保您的 App Bundle 有效,然后重试。
错误:Invalid uncompressed glob: '**['.[uU][nN][iI][tT][yY]3[dD]', '.[rR][eE][sS][sS]', '.[rR][eE][sS][oO][uU][rR][cC][eE]', '.[oO][bB][bB]', '.[bB][uU][nN][dD][lL][eE]', '.[uU][nN][iI][tT][yY][eE][xX][pP]'] + [uU][nN][iI][tT][yY][sS][tT][rR][eE][aA][mM][iI][nN][gG][aA][sS][sS][eE][tT][sS].[tT][oO][kK][eE][nN][iI][zZ][eE](', ')'.

通过本地的 bundletool 工具测试报错如下:

c 复制代码
[BT:1.17.1] Error: Invalid uncompressed glob: '**['.[uU][nN][iI][tT][yY]3[dD]', '.[rR][eE][sS][sS]', '.[rR][eE][sS][oO][uU][rR][cC][eE]', '.[oO][bB][bB]', '.[bB][uU][nN][dD][lL][eE]', '.[uU][nN][iI][tT][yY][eE][xX][pP]'] + [uU][nN][iI][tT][yY][sS][tT][rR][eE][aA][mM][iI][nN][gG][aA][sS][sS][eE][tT][sS].[tT][oO][kK][eE][nN][iI][zZ][eE](', ')'.
com.android.tools.build.bundletool.model.exceptions.InvalidBundleException: Invalid uncompressed glob: '**['.[uU][nN][iI][tT][yY]3[dD]', '.[rR][eE][sS][sS]', '.[rR][eE][sS][oO][uU][rR][cC][eE]', '.[oO][bB][bB]', '.[bB][uU][nN][dD][lL][eE]', '.[uU][nN][iI][tT][yY][eE][xX][pP]'] + [uU][nN][iI][tT][yY][sS][tT][rR][eE][aA][mM][iI][nN][gG][aA][sS][sS][eE][tT][sS].[tT][oO][kK][eE][nN][iI][zZ][eE](', ')'.
        at com.android.tools.build.bundletool.model.exceptions.UserExceptionBuilder.build(UserExceptionBuilder.java:58)
        at com.android.tools.build.bundletool.validation.BundleConfigValidator.validateCompression(BundleConfigValidator.java:78)
        at com.android.tools.build.bundletool.validation.BundleConfigValidator.validateBundle(BundleConfigValidator.java:59)
        at com.android.tools.build.bundletool.validation.ValidatorRunner.validateBundleUsingSubValidator(ValidatorRunner.java:79)
        at com.android.tools.build.bundletool.validation.ValidatorRunner.lambda$validateBundle$4(ValidatorRunner.java:64)
        at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
        at com.android.tools.build.bundletool.validation.ValidatorRunner.validateBundle(ValidatorRunner.java:64)
        at com.android.tools.build.bundletool.validation.AppBundleValidator.validate(AppBundleValidator.java:114)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.execute(BuildApksCommand.java:920)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:83)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:55)
Caused by: com.android.tools.build.bundletool.model.utils.PathMatcher$GlobPatternSyntaxException: Unable to parse glob pattern '**['.[uU][nN][iI][tT][yY]3[dD]', '.[rR][eE][sS][sS]', '.[rR][eE][sS][oO][uU][rR][cC][eE]', '.[oO][bB][bB]', '.[bB][uU][nN][dD][lL][eE]', '.[uU][nN][iI][tT][yY][eE][xX][pP]'] + [uU][nN][iI][tT][yY][sS][tT][rR][eE][aA][mM][iI][nN][gG][aA][sS][sS][eE][tT][sS].[tT][oO][kK][eE][nN][iI][zZ][eE](', ')' at character 173. Error: No matching '[' found.
        at com.android.tools.build.bundletool.model.utils.PathMatcher.convertGlobToRegexp(PathMatcher.java:142)
        at com.android.tools.build.bundletool.model.utils.PathMatcher.createFromGlob(PathMatcher.java:52)
        at com.android.tools.build.bundletool.validation.BundleConfigValidator.validateCompression(BundleConfigValidator.java:73)
        ... 9 more

但是可以正常打 apk 包,运行也正常,查了半天没有什么有用的信息,下面是最后解决问题的方案:

查看 build.gradle 文件中的 noCompress 配置

noCompress '['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] + unityStreamingAssets.tokenize(', ')'

我遇到的问题是该配置过时了,需要改成如下的写法

noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] + unityStreamingAssets.tokenize(', ')

更改完成后就没问题了。

相关推荐
JMchen12311 小时前
现代Android图像处理管道:从CameraX到OpenGL的60fps实时滤镜架构
android·图像处理·架构·kotlin·android studio·opengl·camerax
快点好好学习吧12 小时前
phpize 依赖 php-config 获取 PHP 信息的庖丁解牛
android·开发语言·php
是誰萆微了承諾12 小时前
php 对接deepseek
android·开发语言·php
Dxy123931021612 小时前
MySQL如何加唯一索引
android·数据库·mysql
冠希陈、14 小时前
PHP 判断是否是移动端,更新鸿蒙系统
android·开发语言·php
晚霞的不甘17 小时前
Flutter for OpenHarmony从零到一:构建《冰火人》双人合作闯关游戏
android·flutter·游戏·前端框架·全文检索·交互
2601_9498333917 小时前
flutter_for_openharmony口腔护理app实战+饮食记录实现
android·javascript·flutter
独自破碎E17 小时前
【滑动窗口+字符计数数组】LCR_014_字符串的排列
android·java·开发语言
stevenzqzq17 小时前
compose 中 align和Arrangement的区别
android·compose
VincentWei9517 小时前
Compose:MutableState 和 mutableStateOf
android