打包报错
- 发布:2025-10-14 15:27
- 更新:2025-11-05 00:28
- 阅读:91
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.76
手机系统: Android
手机系统版本号: Android 16
手机厂商: 小米
手机机型: 小米civi
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
打包报错
打包报错
实际结果:
打包报错
打包报错
bug描述:
Appid: UNI9EFB5DE
HBuilderX版本号:4.76
uniapp-cli版本: 4.15-alpha
uniapp 编译器版本: 4.15
云打包服务器SDK版本: 4.82
e: file://[PackagePath]/wgtRoot/UNI9EFB5DE/uni_modules/gy-camera/utssdk/app-android/src/index.kt:714:10 Property must be initialized, be final, or be abstract.
FAILURE: Build failed with an exception.
所有的uts插件都报错了,9月初打包没有问题
1 个回复
s***@outlook.com
简单来说,uts代码里面的class定义,需要给字段初始化默认值。
参考Kotlin2.2.0升级说明里面提到
https://doc.dcloud.net.cn/uni-app-x/plugin/uts-for-android.html
带有 open 的字段必须立即初始化。
具体来说,如果有以下uts代码:
那么升级之后将会报错,因为它会编译出类似这样的kotlin代码:
以上代码在kotlin 2.0会报错,因为上面的字段在定义的时候没有初始化值。
也就是说必须要 open var port: Int = 0 这样在字段上初始化默认值,构造器不算。
另外,这个SomeData的class定义没有意义,只是为了和JS进行数据交互。
不如直接定义一个type
然后它会编译出以下没问题的代码: