cc.sys.localStorage 安卓闪退 有没有替代方案

  • Creator 版本:1.6

  • 目标平台: 安卓

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:必现

  • 额外线索:

最新版1.8.1,看来Creator的新版升级率真是低啊:joy:,叫你们不测试,活该没人用:joy:

1.6的点击组件时属性面板不会更新,一直是上一次打开的组件的属性,要点一下空白地方再点组件才行。在这个版本安卓崩溃,因为调用localStorage,全注释掉之后好了,升级1.8.1之后组件属性会刷新。然后安卓黑屏,我发现不是闪退,E/cocos2d-x( 1673): cocos2d: warning, Director::setProjection() failed because size is 0

引擎里面搜到了这个
void Director::setProjection(Projection projection)
{
Size size = _winSizeInPoints;

if (size.width == 0 || size.height == 0)
{
    CCLOGERROR("cocos2d: warning, Director::setProjection() failed because size is 0");
    return;
}

心情复杂

D/cocos2d-x( 1673): {
D/cocos2d-x( 1673): gl.supports_OES_packed_depth_stencil: true
D/cocos2d-x( 1673): gl.supports_vertex_array_object: false
D/cocos2d-x( 1673): gl.supports_BGRA8888: true
D/cocos2d-x( 1673): cocos2d.x.version: 1.7.0
D/cocos2d-x( 1673): gl.supports_discard_framebuffer: false
D/cocos2d-x( 1673): cocos2d.x.compiled_with_profiler: false
D/cocos2d-x( 1673): gl.supports_PVRTC: false
D/cocos2d-x( 1673): cocos2d.x.build_type: DEBUG
D/cocos2d-x( 1673): gl.renderer: MuMu GL With OpenGL Translator (Intel® Iris™ Graphics 550)
D/cocos2d-x( 1673): gl.supports_OES_depth24: true
D/cocos2d-x( 1673): gl.supports_ETC1: true
D/cocos2d-x( 1673): gl.supports_OES_map_buffer: false
D/cocos2d-x( 1673): cocos2d.x.compiled_with_gl_state_cache: true
D/cocos2d-x( 1673): gl.version: OpenGL ES 2.0 (MuMu GL, Powered by 2.1 INTEL-10.28.29)
D/cocos2d-x( 1673): gl.supports_NPOT: true
D/cocos2d-x( 1673): gl.max_texture_units: 16
D/cocos2d-x( 1673): gl.vendor: NetEase
D/cocos2d-x( 1673): gl.max_texture_size: 16384
D/cocos2d-x( 1673): }
D/cocos2d-x( 1673):
E/cocos2d-x( 1673): cocos2d: warning, Director::setProjection() failed because size is 0
I/ActivityManager( 548): Displayed com.vivigames.scmj/org.cocos2dx.javascript.AppActivity: +239ms
D/com.netease.nemu_android_launcher.C88.OOQ( 670): com.vivigames.scmj is tag of cocos2d and it’s name is DDMJ
D/cocos2d-x( 1673): cocos2d: fullPathForFilename: No file found at script/jsb_prepare.jsc. Possible missing file.
E/cocos2d-x( 1673): Couldn’t get window.sp varible, was sp module registered?
D/cocos2d-x( 1673): cocos2d: fullPathForFilename: No file found at script/jsb_boot.jsc. Possible missing file.
E/jswrapper( 1673): [ERROR] Failed to invoke require, location: /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/manual/jsb_global.cpp:211
E/jswrapper( 1673): [9]167…/cocos2d/actions@src/jsb_polyfill.js:24530
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81dfa830) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81e19c70) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81dfa830) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81e19c70) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81dfa830) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81e19c70) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81dfa830) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81e19c70) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81dfa830) failed!
E/jswrapper( 1673): [ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/proj.android/…/jswrapper/v8/Object.cpp, 519): Invoking function (0x81e19c70) failed!

最后这几条log一直在重复,屏幕黑屏

你看看你打包的APK,assets目录下是不是没有 script 文件夹?
是不是没有 script/jsb_boot.jsc 或者 jsb_boot.js

目测你打包 APK 出问题了。

目测跟那个没关系,ios的也有这个log

有的,找不到的是jsc,因为我是调试版本,有jsb_boot.js

@dumganhar

├── ccui
│ ├── jsb_ccui_create_apis.js
│ ├── jsb_ccui_deprecated.js
│ ├── jsb_ccui_property_apis.js
│ ├── jsb_ccui_property_impls.js
│ └── jsb_cocos2d_ui.js
├── debugger
│ ├── DevToolsUtils.js
│ ├── README.md
│ ├── actors
│ │ ├── breakpoint.js
│ │ ├── common.js
│ │ ├── environment.js
│ │ ├── frame.js
│ │ ├── object.js
│ │ ├── root.js
│ │ ├── script.js
│ │ ├── source.js
│ │ ├── utils
│ │ │ ├── ScriptStore.js
│ │ │ └── TabSources.js
│ │ └── webconsole.js
│ ├── event-emitter.js
│ ├── main.js
│ ├── protocol.js
│ ├── sdk
│ │ ├── event-core.js
│ │ ├── heritage.js
│ │ ├── object.js
│ │ └── target.js
│ ├── transport.js
│ └── webconsole
│ └── utils.js
├── extension
│ └── jsb_cocos2d_extension.js
├── jsb.js
├── jsb_audioengine.js
├── jsb_boot.js
├── jsb_cocos2d.js
├── jsb_cocosanalytics.js
├── jsb_common.js
├── jsb_create_apis.js
├── jsb_debugger.js
├── jsb_dragonbones.js
├── jsb_opengl.js
├── jsb_opengl_constants.js
├── jsb_prepare.js
├── jsb_property_apis.js
├── jsb_property_impls.js
└── jsb_spine.js

你有用到 box2d 物理模块?

没有啊?棋牌

你 ios 上的截图有 cc.Collider.Circle,我以为是box2d的物理模块。

如果这个问题还存在,请整理一个复现demo出来看看吧。

好像是构建的时候包含了物理引擎的原因。复现demo?是工程还是包?怎么发

复现demo。除了 build 目录以外的所有文件。
你可以尝试在“项目设置”里面把物理引擎模块去除重新构建试试看。或者你创建一个helloworld工程出来,验证一下是否有问题。

我啥也没改重新用creator 1.6build&compile没问题,不黑屏了,log里唯一差别就是 1.7和1.8 都是Cocos2d-x-lite 1.7 1.6的是 Cocos2d-x-lite 1.6

压了一个60M的包,怎么发给你?

提交到百度盘或者微盘,然后把链接私信给我。

我也遇到了,项目设置–>模块设置,去掉物理引擎相关模块。就好了

1赞

已经去掉了 物理引擎相关模块 还是会出现 怎么整。。:joy:

没有script 怎么办,是哪里配置错了