Geni
Geni
  • 发布:2026-02-28 16:50
  • 更新:2026-02-28 16:50
  • 阅读:14

使用jg-jpush-u插件,安卓云打包时报错

分类:uts

看错误日志应该是语法问题,请教下怎么修复。
uts插件源码在附件

打包报错日志如下:

HBuilderX版本号:4.87
uniapp-cli版本: 4.87
uniapp 编译器版本: 4.87
云打包服务器SDK版本: 4.87

错误解决方案

错误描述: uts插件编译失败
解决方案: 请根据编译错误修改插件相关代码后重新提交打包。或联系插件作者解决。
######################

e: file://[PackagePath]/wgtRoot/UNI6496044/uni_modules/jg-jpush-u/utssdk/app-android/src/index.kt:59:33 Smart cast to 'Function1<@ParameterName(...) EventCallBack, Unit>' is impossible, because 'callback' is a mutable property that could be mutated concurrently. Use explicit '?.invoke' to make a function-like call instead.

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':uni_modules:jg-jpush-u:compileReleaseKotlin'.

    A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
    Compilation error. See log for more details

  • Try:

    Run with --stacktrace option to get the stack trace.
    Run with --info or --debug option to get more log output.
    Run with --scan to get full insights.
    Get more help at https://help.gradle.org.

BUILD FAILED in 7s
Error code = -5000
Error message:
UTS plugin @ utssdk jg-jpush-u compile error!

2026-02-28 16:50 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

报错日志的核心信息是:

Smart cast to 'Function1<@ParameterName(...) EventCallBack, Unit>' is impossible, because 'callback' is a mutable property that could be mutated concurrently. Use explicit '?.invoke' to make a function-like call instead.

这是 Kotlin 编译器的并发安全提示:
callback 被声明为可变属性(var),在多线程环境下可能被其它线程修改,因此编译器不允许直接把它当成不可空函数来调用。

修复办法(任选其一):

  1. 在调用处使用安全调用运算符
    把原来的

    callback(event)  

    改成

    callback?.invoke(event)  
  2. 如果确定不会在并发场景下修改 callback,可以把属性声明为不可变(val)或者在调用前做一次不可变拷贝:

    val cb = callback  
    if (cb != null) cb(event)  
  3. 若插件作者希望保持可变属性,又想在调用时避免并发问题,可使用 @Volatile 注解或加锁,但通常最简单的是方案 1 或 2。

请修改 uni_modules/jg-jpush-u/utssdk/app-android/src/index.kt 第 59 行附近的相关代码后重新云打包即可。

内容为 AI 生成,仅供参考

要回复问题请先登录注册