creator 2.2.0版本转到低版本会出问题么,另外2.2.0出现了新问题

之前是2.1.3版本,由于ios jsb的问题导致项目运行不太稳定,而之前引擎人员说2.2.0 ios 启用v8就可以解决这问题,刚好官方升级了2.2.0,所以今天creator从2.1.3升级到2.2.0,结果又遇到新问题,龙骨文件解析错误,读不到字段"version",我看论坛里已经有几个人遇到同样的问题了,只有一个修改了下project.json,但好像只是凑巧解决他的问题,所以现在想将项目还原到低版本,但不知道这样会不会引起其他未知问题? 如果官方能尽快解决上面的龙骨动画解析问题就最好不过了 ,如果不行,希望给个建议,下面是龙骨动画解析错误的代码:
AssetsManagerEx : No local manifest file found error.
jsb: ERROR: File /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp: Line: 374, Function: js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData
js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData : Error processing arguments[ERROR] Failed to invoke js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData, location: /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp:401
jsb: ERROR: File /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp: Line: 374, Function: js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData
js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData : Error processing arguments[ERROR] Failed to invoke js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData, location: /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp:401
Assertion failed: (IsObject()), function FindMember, file /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/build/…/external/sources/json/document.h, line 1154.
(lldb)

补充下,环境: xcode11+最低限制ios 8.0 , 设备iphone6+ios12.4.1 ,debug模式下。
另外creator 里模拟器 也报错,唯独creator里选"浏览器"运行没有出现明显错误游戏顺利运行。下面是模拟器报错代码:
Simulator:
Simulator: 0 Simulator 0x000000010d5ba833 v8::base::debug::StackTrace::StackTrace() + 19
1 Simulator 0x000000010d5bf66b v8::platform::(anonymous namespace)::PrintStackTrace() + 27
2 Simulator 0x000000010d5b50f5 V8_Fatal(char const*, int, char const*, …) + 325
3 Simulator 0x000000010d92de24 v8::internal::JSDateTimeFormat::Initialize(v8::internal::Isolate*, v8::internal::Handlev8::internal::JSDateTimeFormat, v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::Object) + 10340
4 Simulator 0x000000010d92aa1d v8::internal::JSDateTimeFormat::ToLocaleDateTime(v8::internal::Isolate*, v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::Object, v8::internal::JSDateTimeFormat::RequiredOption, v8::internal::JSDateTimeFormat::DefaultsOption) + 477
5 Simulator 0x000000010d67219e v8::internal::Builtin_Impl_DatePrototypeToLocaleDateString(v8::internal::BuiltinArguments, v8::internal::Isolate*) + 270
6 Simulator 0x000000010e1f4f19 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit + 57
7 Simulator 0x000000010e16a0e4 Builtins_InterpreterEntryTrampoline + 676
8 Simulator 0x000000010e16a0e4 Builtins_InterpreterEntryTrampoline + 676
9 Simulator 0x000000010e167a5d Builtins_JSEntryTrampoline + 93
at HTMLElement.print-simulator-log (/Applications/CocosCreator.app/Contents/Resources/app.asar/editor/builtin/scene/panel/messages/scene.js:1:1608)
at Object.e._dispatch (/Applications/CocosCreator.app/Contents/Resources/app.asar/editor-framework/lib/renderer/panel.js:1:1876)
at EventEmitter. (/Applications/CocosCreator.app/Contents/Resources/app.asar/editor-framework/lib/renderer/ipc.js:1:2952)
at EventEmitter.emit (events.js:194:13)

顶一下

@jare @panda

方便提供个demo我分析下原因么,或者加我QQ 1053210246

加你了 麻烦看下谢谢

兄弟,你是不是加错人了。。。。我没收到啊

应该没加错啊 ,可能你没收到验证吧,我又重新加了

还是没收到。。。

要不我加你可好:sweat:

我做了个demo,没重现出问题,可能是资源跟项目比起来比较单一的原因,不过我后面又跟了很一阵,大体确认是跟v8引擎有很大关系,先贴上最新错误代码:

jsb: ERROR: File /Applications/CocosCreator2_2.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp: Line: 374, Function: js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData
js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData : Error processing arguments[ERROR] Failed to invoke js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData, location: /Applications/CocosCreator2_2.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp:401
jsb: ERROR: File /Applications/CocosCreator2_2.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp: Line: 374, Function: js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData
js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData : Error processing arguments[ERROR] Failed to invoke js_cocos2dx_dragonbones_BaseFactory_parseTextureAtlasData, location: /Applications/CocosCreator2_2.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_dragonbones_manual.cpp:401
Printing description of arg0:
(const char *) arg0 = 0x000000016edd30d8 “[object Object]”
Printing description of arg1:
(std::1::string) arg1 = “b4pCNvd3BL5pEAZLwhxKIQ#16JcXzMOtJPY1f9BcoLUl0”
Printing description of document:
(rapidjson::Document) document = {
rapidjson::GenericValue<rapidjson::UTF8, rapidjson::MemoryPoolAllocatorrapidjson::CrtAllocator > = {
data
= {
s = (length = 0, hashcode = 0, str = 0x0000000000000000)
ss = {
str = {
[0] = ‘\0’
[1] = ‘\0’
[2] = ‘\0’
[3] = ‘\0’
[4] = ‘\0’
[5] = ‘\0’
[6] = ‘\0’
[7] = ‘\0’
[8] = ‘\0’
[9] = ‘\0’
[10] = ‘\0’
[11] = ‘\0’
[12] = ‘\0’
[13] = ‘\0’
[14] = ‘\0’
[15] = ‘\0’
[16] = ‘\0’
[17] = ‘\0’
[18] = ‘\0’
[19] = ‘\0’
[20] = ‘\0’
[21] = ‘\0’
}
}
n = {
i = (i = 0, padding = “”)
u = (u = 0, padding2 = “”)
i64 = 0
u64 = 0
d = 0
}
o = {
size = 0
capacity = 0
members = 0x0000000000000000
}
a = {
size = 0
capacity = 0
elements = 0x0000000000000000
}
f = (payload = “”, flags = 0)
}
}
allocator
= 0x00000002809d9560
ownAllocator_ = 0x00000002809d9560
stack_ = {
allocator_ = 0x00000002805b4620
ownAllocator_ = 0x00000002805b4620
stack_ = 0x0000000000000000
stackTop_ = 0x0000000000000000
stackEnd_ = 0x0000000000000000
initialCapacity_ = 1024
}
parseResult_ = (code_ = kParseErrorValueInvalid, offset_ = 1)
}
Printing description of v8args:
(const v8::FunctionCallbackInfov8::Value &) v8args = 0x000000016edd33e0: {
implicit_args
= 0x000000016edd3468
values
= 0x000000016edd35e8
length_ = 2
}
Printing description of v8args.implicit_args:
(v8::internal::Address *) implicit_args_ = 0x000000016edd3468
objc[747]: Attempt to use unknown class 0x10f0a02e0.
Assertion failed: (IsObject()), function FindMember, file /Applications/CocosCreator2_2.app/Contents/Resources/cocos2d-x/external/sources/json/document.h, line 1154.

我分别跟踪下2.1.3构建的和2.2.0构建,


2.2.0的在如图所示接口处rawdata的值有问题,而2.1.3在此处就是正常的一长串资源相关属性字串。

那麻烦加下了283935749 ,我确实加了你几次都没加上

顶一顶

会出问题, 你对比 2.1.3 是存的 _position _scale 这些属性, 2.2.0 存的是 TypedArray 那个数组,我是直接用2.1.3的编辑器打开2.2.0 的工程,然后提取 2.2.0 对应的 .fire .prefab 里面 _trs.array 里面的信息 存到 2.1.3 的相应位置. 再打开就可以运行了. 我的项目 暂时降版本成功了.

嗯 谢谢,,降版本都是退而求其次无奈之举,现在主要问题还是2.2.0骨骼动画解析报错的问题,这才是硬伤。。

我也碰到这个问题,MD手把手将近百个_position拷贝到了TypedArray里面,要哭了

看样子可能是模块剔除的问题,你看看你这个文件
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/jni/Application.mk
找到这几项
USE_GFX_RENDERER := 1
USE_VIDEO := 1
USE_WEB_VIEW := 1
USE_AUDIO := 1
USE_SOCKET := 1
USE_SPINE := 1
USE_DRAGONBONES := 1
USE_TIFF := 1
USE_MIDDLEWARE := 1
USE_PARTICLE := 1
看是否都为1

兄台,现在是2.2.0构建的ios端出的这骨骼动画解析问题, 升级的目的就是最上面提到的之前版本使用jsc oc互调的时候导致程序不稳定,所以才升级creator, 因为creator 2.2.0 ios 启用v8引擎按之前你们有关人员说的可以解决不稳定的情况。