cocos cc.resource.loadDir在网页端正常安卓端报错的解决

简介: cocos cc.resource.loadDir在网页端正常安卓端报错的解决

新做的游戏有个排行榜功能,通过cc.resources.loadDir 去加载图片资源头像,生成一个排行榜:

// 加载 test assets 目录下所有 SpriteFrame,并且获取它们的路径
let  that = this;
cc.resources.loadDir("rankAvatar", cc.SpriteFrame, function (err, assets) {
    for (let i in assets){
        let itemNode = cc.instantiate(that.rankItem);
        let itemTs = itemNode.getComponent("RankItem");
        itemTs.init(i-0+1,assets\[i\],nameConfig\[i\],64*3);
        rankListNode.addChild(itemNode);
    }
});

在网页端正常使用,安卓端却无法使用

image.png

image.png

查看cocos 控制台报错,发现了几个问题:

image.png

Simulator: Image: unsupported image format!
Simulator: Image: unsupported image format!
Simulator: Image: unsupported image format!
 Simulator: \[ERROR\] (/Users/nantas/jenkins/workspace/Creator\_2D/cocos2d-x-lite/mac/cocos2d-x-lite/cocos/scripting/js-bindings/manual/jsb\_global.cpp, 913): initWithImageFile: /Users/ncl/PhpstormProjects/work/game/cut-paper-cocos2/library/imports//9a/9a79fc12-dede-491d-b41f-7c62a6d9c216.jpg failed!
 Simulator: \[ERROR\] (/Users/nantas/jenkins/workspace/Creator\_2D/cocos2d-x-lite/mac/cocos2d-x-lite/cocos/scripting/js-bindings/manual/jsb\_global.cpp, 913): initWithImageFile: /Users/ncl/PhpstormProjects/work/game/cut-paper-cocos2/library/imports//f4/f43e9db2-5d4b-48e2-8d78-1f49f1367483.jpg failed!
 Simulator: \[ERROR\] (/Users/nantas/jenkins/workspace/Creator\_2D/cocos2d-x-lite/mac/cocos2d-x-lite/cocos/scripting/js-bindings/manual/jsb\_global.cpp, 913): initWithImageFile: /Users/ncl/PhpstormProjects/work/game/cut-paper-cocos2/library/imports//c1/c1e4cbd6-1e9d-4a36-be17-93e90322567a.jpg failed!

找到对应的资源uuid,找到了图片

image.png

问题在于:

浏览器会通过文件二进制数据进行解析对应图片格式的文件,而安卓端通过后缀去解析固定格式的文件,此图片格式为gif,改名为jpg,在网页端正常运行,但是安卓端解析jpg就出现了错误

把后缀改下就ok了

目录
相关文章
|
8月前
|
Android开发
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
1217 1
|
2月前
|
Java API 开发工具
Cocos游戏如何快速接入安卓优量汇广告变现?
本文介绍了如何在Cocos游戏项目中快速接入安卓优量汇广告,通过详细的步骤指导,包括前期准备、编辑gradle和清单文件、核心代码集成等,帮助开发者轻松实现广告功能,增加游戏的盈利渠道。文中还提供了示例工程下载链接,方便开发者直接上手实践。
|
3月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
468 0
|
5月前
|
网络安全 图形学 Android开发
Unity与安卓丨AS报错:SSL peer shut down incorrectly
Unity与安卓丨AS报错:SSL peer shut down incorrectly
Unity与安卓丨AS报错:SSL peer shut down incorrectly
|
5月前
|
开发工具 图形学 Android开发
Unity与安卓丨unity报错:SDK Tools version 0.0 < 26.1.1
Unity与安卓丨unity报错:SDK Tools version 0.0 < 26.1.1
|
5月前
|
API Android开发 图形学
UNITY与安卓⭐三、安卓报错答疑合集
UNITY与安卓⭐三、安卓报错答疑合集
|
5月前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
780 1
|
5月前
|
Android开发
解決Android报错:Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
解決Android报错:Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
139 1
|
5月前
|
Android开发
解决Android、Flutter编译时Gradle报错:javax.net.ssl.SSLException: Connection reset
解决Android、Flutter编译时Gradle报错:javax.net.ssl.SSLException: Connection reset
591 0
|
7月前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要: