[Android] 2.3.2 BUG Cannot set property 'width' of null

cc.game.canvas 为 null
hello_world 工程。
模板:link

setCanvasSize: function(t, e) {
var i = cc.game.canvas, n = cc.game.container;
i.width = t * this._devicePixelRatio;
i.height = e * this._devicePixelRatio;
i.style.width = t + "px";
i.style.height = e + "px";
n.style.width = t + "px";
n.style.height = e + "px";
this._resizeEvent();
},

这个是cc源码出错的地方吧,我报的错误和楼主一样,不知道官方有没有关注这个问题?

用的是CC 2.3.2
ERROR: Uncaught TypeError: Cannot set property ‘width’ of null, location: src/cocos2d-jsb.js:0:0
STACK:
[0]setCanvasSize@src/cocos2d-jsb.js:28064
[1]jsb.onResize@jsb-adapter/jsb-engine.js:2770

请教下楼主怎么看到源码的?我用的ts,不知道怎么看

各位能提供一个demo么?我们复现不出来,只能看代码推测

2.3.3 版本已经没有地方调用 setCavansSize 了,请问确认是相同的报错吗
这是我们之前的修复 pr
https://github.com/cocos-creator-packages/jsb-adapter/pull/265

demo已经提供,请帮忙看下,感谢
PS:之前2.2.2没有这个问题,2.3.2和之后的都有。

根据报错STACK,在下面这个目录找对应的源码

build\jsb-link\js backups (useful for debugging)

抱歉,没用2.3.3 测试。
看报错就是 cc.view.setCanvasSize(window.innerWidth, window.innerHeight); 引起的。
2.3.3 删了应该OK了吧。

用2.3.2 helloworld 工程,打包Android,在Logcat 看Error 就可以看到了.

我用最新的2.3.3 rc4 new了一个ts 的工程,就会出现这个问题。 已经在


回复,希望官方可以看看

2.3.1也有这个问题。

v2.3.3 -rc.4 还是有这个问题。

请问项目中有调用到 cc.view.setCanvasSize 接口吗

你的问题可以关注下这楼的回复

这个问题解决了没。。。

顶一下,bugly上满是这个报错

如果 v2.3.3 还会出现这个报错的话,
麻烦提供下报错的调用栈哦,目前收集到的信息没办法判断是哪里出问题了

/*
 * Not support on native.<br/>
 * On web, it sets the size of the canvas.
 * !#zh 这个方法并不支持 native 平台,在 Web 平台下,可以用来设置 canvas 尺寸。
 * @method setCanvasSize
 * @param {Number} width
 * @param {Number} height
 */
setCanvasSize: function (width, height) {
    var canvas = cc.game.canvas;
    var container = cc.game.container;

    canvas.width = width * this._devicePixelRatio;
    canvas.height = height * this._devicePixelRatio;

    canvas.style.width = width + 'px';
    canvas.style.height = height + 'px';

    container.style.width = width + 'px';
    container.style.height = height + 'px';

    this._resizeEvent();
},

这里报错的,引擎。这里写明了不支持native平台。但是在native环境下webview还是会调用这个函数,希望解决一下。以下是报错时候的堆栈,我能注释掉这个函数么?

2.4.2新建的ts模板项目,在网页第一次运行的时候也会出现这个错误,等后续再运行就不会出现了