【已正式发布】CocosCreator 3.8.7 社区版本公测帖

果然,我按cacheTraverse函数的修改思路给realTimeTraverse也改了一下,realtime模式也不再报错了

我切到 realtime 没报错,看逻辑是需要同步的

有demo么?我看下

3.8.7我这边没有奔溃问题了

项目中有的文件超500kb有报错


之前编辑器是3.8.4无报错,但是微信ide超2000kb有报警告。按照网上的解决方案没解决掉,不知道是否可以忽略。

更新到3.8.7后,谷■后台崩溃率超过阈值了,帮忙看看这是哪里导致的。

[libcocos.so] se::ScriptEngine::isValid() const

  • SIGSEGV

backtrace:

#00 pc 0x0000000000c879e8 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (se::ScriptEngine::isValid() const)

#01 pc 0x0000000000c3b3dc /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (Java_com_cocos_lib_CocosJavascriptJavaBridge_evalString+44)

#02 pc 0x0000000000d99818 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+120)

#03 pc 0x00000000003e6180 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/oat/arm64/base.odex (com.cocos.game.GameSdk$b.run+688)

#04 pc 0x00000000003e9680 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/oat/arm64/base.odex (com.cocos.lib.CocosHelper$e.c+336)

#05 pc 0x00000000003e96dc /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/oat/arm64/base.odex (com.cocos.lib.CocosHelper.flushTasksOnGameThread+44)

#06 pc 0x000000000032d460 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)

#07 pc 0x000000000032bfc8 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+800)

#08 pc 0x000000000062b67c /apex/com.android.art/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156)

#09 pc 0x000000000069cf34 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, …))

#10 pc 0x000000000069b974 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (void cc::JniHelper::callStaticVoidMethod<>(std::__ndk1::basic_string<char, std::__ndk1::char_traits, std::__ndk1::allocator> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits, std::__ndk1::allocator> const&))

#11 pc 0x000000000069c4e8 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (cc::flushTasksOnGameThreadJNI())

#12 pc 0x00000000006e1f04 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (cc::AndroidPlatform::loop())

#13 pc 0x00000000006e1d74 /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (cc::AndroidPlatform::run(int, char const**))

#14 pc 0x0000000000c6ad7c /com.example.cocos-oxvj3h81JrlABxQY5-3Lcg==/lib/arm64/libcocos.so (android_app_entry)

#15 pc 0x0000000000101d0c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204)

#16 pc 0x0000000000095a00 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

jni 有增加了业务代码?请检查业务代码是否有在正确的线程运行。可以参考下其他的jni 接口的行为。若没增加业务代码,麻烦提供可复现demo

在编辑器里挨个动画资源,如果有问题在编辑器里就会报错的,然后统一给你们的动画,让他重新输出,有一些是图片路径丢失之类的,让动画检查就好了

你们不觉得你们需要解决一个十年都没有解决的问题吗?就不能添加一个针对多端的复制接口?既然是针对多端的开发框架这个应该是最基础的功能了把,十年了还没有解决。复制文本这么一个东西还要别个打包进去然后再去掉原生,你们就不能集成一下!!!!

有写入剪贴板功能啊

copyTextToClipboard看看这个API

有挺久了 :see_no_evil:

哈哈哈 不好意思 不好意思 ,找到了。

art_sigsegv_fault 0x0000007af9a2b700
js_cc_SkeletonAnimation_setAnimation(se::State &) jsb_spine_3_8_auto.cpp:23400
js_cc_SkeletonAnimation_setAnimationRegistry(const v8::FunctionCallbackInfo<…> &) jsb_spine_3_8_auto.cpp:23409

@song2008_2001 这里崩溃了,版本是3.8.7,spine是3.8版本,原生安卓。一样的动画文件3.8.6是好的这个是怎么处理呢?

这个版本同步了spine 官方binary文件解析;你的这个问题应该是 animation找不到
TrackEntry *AnimationState::setAnimation(size_t trackIndex, Animation *animation, bool loop) {

assert(animation != NULL);

assert的时候断言了;根本原因应该就是需要改资源,或者回退skeletonBinary.cpp这个文件到386。

art_sigsegv_fault 0x0000007080dfd700
js_cc_middleware_MiddlewareManager_update(se::State &) jsb_editor_support_auto.cpp:821
js_cc_middleware_MiddlewareManager_updateRegistry(const v8::FunctionCallbackInfo<…> &) jsb_editor_support_auto.cpp:826

我回退了spine-emscripten-head的4个文件,然后试了几次,又报错报在了这里,不是必现的,这又是什么错误呢?

当前版本的编辑器,spine,inspector窗口,有个比较严重的bug。当拖一个新的spine进入编辑器,所有spine的Sockets的Path都变成最新拖进来的spine文件的Path。

。当重新打开预设后,path只能显示第一个选中的spine的Sockets-Path


我的项目在3.8.7中使用game.restart() 报错

spine 绑定这个刷新有问题的, 需要再选择其他不同的节点, 再切回才能刷新