使用JSB的reflection时出现了this.__initProps__ is not a function的错误,求帮助

Creator 版本号:1.4.2
运行时目标平台:Andorid

js代码

udid = jsb.reflection.callStaticMethod('com/core/Core', 'getUDID', '()Ljava/lang/String;')

java代码

if(_instace._isInit == false)
            return "";

        if(OpenUDID_manager.isInitialized() == false)
        {
            OpenUDID_manager.sync(_instace._context);
        }
        String uniqueId = OpenUDID_manager.getOpenUDID();
        Log.d(TAG, "OpenUDID: " + uniqueId);
        return uniqueId;

打印的日志会反复出现以下内容

04-06 11:27:59.442 21209-21238/com.slotsplus.free E/cocos js error:: assets/src/jsb_polyfill.js line 21339 > eval line:2 msg:TypeError: this.__initProps__ is not a function
04-06 11:27:59.458 21209-21238/com.slotsplus.free D/JniHelper: JniHelper::getJavaVM(), pthread_self() = -1607112400
04-06 11:27:59.458 21209-21238/com.slotsplus.free D/SlotsCore: OpenUDID: 60594b043f26ce56

在polyfill中的21339相关内容是:

m.cleanEval_fireClass = function(code) {
            try {
                var fireClass = eval(code); //line 21339
                console.log(code);
            }
            catch (e) {
                console.log(code);
            }
            return fireClass;
        };

我把21339打印出来了:

(function(...args){
 this.__initProps__(fireClass);
 var cs=fireClass.__ctors__;
 try{
      (cs[0]).apply(this,args);
       (cs[1]).apply(this,args);
   }catch(e){
  cc._throw(e);
  }
 })

求@jare老师指导以下

你在哪里 new 了 CCClass 实例?
目前 CCClass 应该是不支持 构造函数.call(this) 这类写法的。
具体要看你是怎么调用的。

就是在onLoad函数里面调用的jsb出现这个问题

我没看到你的 jsb 代码哪里会执行到 __initProps__

这个__initProps__是日志里出来的,我直接把日志里标记错误的代码var fireClass = eval(code)的的code打印出来的,我也不知道哪里有。
不过代码确实不是直接调用的,我是写了一个UDID的js接口,然后在接口里面调用的jsb。
具体代码大概是这样:

onLoad: function () {
var UDIDAPI = require(UDIDAPI)
var udid =  UDIDAPI.getUDID()
}

然后在UDIDAPI里面:

let udid = ''
  if (cc.sys.os === cc.sys.OS_IOS) {
    
  } else if (cc.sys.os === cc.sys.OS_ANDROID) {
   udid = jsb.reflection.callStaticMethod('com/core/Core', 'getUDID', '()Ljava/lang/String;')

大概是这样的。我换在onload里面直接调用jsb没这个问题,带就是在这种方式调用jsb有问题。
UDIDAPI不是一个ccclass。问题是出在这里吗?

出现这个错误说明你的对象在 js 层创建失败了,主要是 js 层的代码写法有问题。
你的 java 代码做了什么?为什么会引起 js 层的对象创建操作?用二分法排查看看吧。