1***@qq.com
1***@qq.com
  • 发布:2021-06-04 01:00
  • 更新:2021-06-08 13:49
  • 阅读:567

uniapp原生开发不要使用Java8的lambda语法!

分类:uni-app

这么过分,一定要发DCLOUD论坛!

现在是凌晨1:00。本人在开发一个uniapp原生插件,需要集成第三方的sdk,在本地调试时一切正常,然后按照教程将插件打包后使用HubliderX在云端打包,却发现使用了sdk的方法除了一其中一个以外都不能用了???点击无任何反应,但是测试方法还能正常使用,然后我就开始各种找原因,,,,最后找了一天才发现,好像是正常的方法都没用lambda语法写,抱着试一试的心态,,,,结果真是这个原因。。。。乌鱼子!

HBuilderX2.3.8+开始支持配置云端打包java编译参数。 格式如下:
"compileOptions": { //可选,Java编译参数配置
"sourceCompatibility": "1.8",
"targetCompatibility": "1.8"
}
云端打包使用的jdk版本为1.8,仅支持取值"1.6"、"1.7"、"1.8"。

明明说的云端打包用的1.8.。。。结果不能用lambda语法。。。。绝了呀兄弟。为了这个无语的问题,我测试了整整一天啊!我的头发啊!
最后附上代码

//这是可以的,使用普通的写法  
apiInstance.cossQrReqCert(context, new CossReqCertCallBack() {  
    @Override  
     public void onCossReqCert(CossReqCertResult cossReqCertResult) {  
                    options.put("errCode",cossReqCertResult.getErrCode());//错误码  
                    options.put("errMsg",cossReqCertResult.getErrMsg());//错误信息  
                    options.put("msspID",cossReqCertResult.getMsspID());//  
                    callback.invoke(options);  
     }  
});
//这样就不行了。。  
apiInstance.cossQrReqCert(context, cossReqCertResult -> {  
                options.put("errCode",cossReqCertResult.getErrCode());//错误码  
                options.put("errMsg",cossReqCertResult.getErrMsg());//错误信息  
                options.put("msspID",cossReqCertResult.getMsspID());//  
                callback.invoke(options);  
});
1 关注 分享
2***@qq.com

要回复文章请先登录注册

z***@yeah.net

z***@yeah.net

我可能也遇到这个问题了
2021-06-08 13:49