HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

免费开源的uniappx UI框架,支持鸿蒙,APP,小程序,H5

UI

免费开源的uniappx UI框架,支持鸿蒙,APP,小程序,H5,欢迎使用~ https://ext.dcloud.net.cn/plugin?id=24907

免费开源的uniappx UI框架,支持鸿蒙,APP,小程序,H5,欢迎使用~ https://ext.dcloud.net.cn/plugin?id=24907

uniapp-x云打包报一堆未定义

云端打包发布常见问题

以下是HBuilderX云打包编译错误信息,分析一下是什么原因?

e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:100 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:105 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:112 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:121 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:31:40 Not enough information to infer type variable V
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:80:24 Unresolved reference: kObject
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:80:36 Property delegate must have a 'setValue(GenComponentsEditDatika, KProperty<>, [Error type: Unresolved type for kObject]?)' method. None of the following functions is suitable:
public inline operator fun <V> Map<in String, in Any?>.setValue(thisRef: Any?, property: KProperty<
>, value: Any?): Unit defined in io.dcloud.uts
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:93:50 Variable expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:95:50 Variable expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:106:50 Variable expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:44:32 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:45:29 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:45:29 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:48:14 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:64:37 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:65:29 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:65:29 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:68:14 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:25:43 Unresolved reference: ctx
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:26:44 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type ComponentInternalInstance?
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:30:39 Unresolved reference: EditorContext
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:34:24 Type mismatch: inferred type is String but Unit was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:49:50 Unresolved reference: e
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:54:43 Unresolved reference: context
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:55:44 Type mismatch: inferred type is String but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:69:50 Unresolved reference: e
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:21:41 Unresolved reference: id
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:39:143 Unresolved reference: title
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:41:38 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:42:91 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:47:132 Unresolved reference: jctotal
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:49:84 Unresolved reference: start
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:51:89 Unresolved reference: currentPrice
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:52:90 Unresolved reference: originalPrice
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:70:42 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:74:31 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:25:78 An anonymous function is not allowed to specify default values for its parameters
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:30:29 Type mismatch: inferred type is Boolean? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:30:46 Type mismatch: inferred type is UTSArray<TreeNode>? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:31:52 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public fun <T> Array<out Array<out TypeVariable(T)>>.flatten(): List<TypeVariable(T)> defined in kotlin.collections
public fun <T> Iterable<Iterable<TypeVariable(T)>>.flatten(): List<TypeVariable(T)> defined in kotlin.collections
private fun <T, R> Sequence<TypeVariable(T)>.flatten(iterator: (TypeVariable(T)) -> Iterator<TypeVariable(R)>): Sequence<TypeVariable(R)> defined in kotlin.sequences
public fun <T> Sequence<Iterable<TypeVariable(T)>>.flatten(): Sequence<TypeVariable(T)> defined in kotlin.sequences
public fun <T> Sequence<Sequence<TypeVariable(T)>>.flatten(): Sequence<TypeVariable(T)> defined in kotlin.sequences
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:37:33 No value passed for parameter 'p2'
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:42:21 Type mismatch: inferred type is UTSArray<TreeNode>? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:43:37 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Boolean?
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:50:25 Type mismatch: inferred type is UTSArray<TreeNode>? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:51:25 Unresolved reference: initTreeData
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:57:46 Operator call corresponds to a dot-qualified call 'level.compareTo(2)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:63:47 Operator call corresponds to a dot-qualified call 'level.times(30)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:66:39 Operator call corresponds to a dot-qualified call 'level.compareTo(0)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:71:51 Operator call corresponds to a dot-qualified call 'level.times(3)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:74:24 Type mismatch: inferred type is UTSArray<TreeNode> but Unit was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:76:19 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:94:101 Type mismatch: inferred type is Boolean? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:99:70 Type mismatch: inferred type is Boolean? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:153:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:191:79 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:59 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:128 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:199 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:263 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:338 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:413 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:481 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:550 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:194:28 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:195:12 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:263:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:266:11 Redeclaration: PickerChangeEvent
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:290:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:293:11 Redeclaration: PickerChangeEvent
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:424:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/answer_sheet.kt:93:42 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/answer_sheet.kt:93:47 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam.kt:100:33 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:33:79 Unresolved reference: title
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:34:79 Unresolved reference: sub
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:35:79 Unresolved reference: score
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:36:79 Unresolved reference: date
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/start_exam.kt:140:22 Unresolved reference: popup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:29:168 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:82 Unresolved reference: fenleis
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:95 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:101 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:108 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:117 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/home/home.kt:36:64 Unresolved reference: url
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/order_subject.kt:60:31 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:28:47 Unresolved reference: text
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:31:124 Unresolved reference: url
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:34:125 Unresolved reference: text
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:117:32 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:121:29 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_detal.kt:24:70 Unresolved reference: title
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_list.kt:18:23 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_list.kt:21:36 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_list.kt:116:34 Unresolved reference: scrollTop
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/userinfo/edit_touxiang.kt:64:22 Unresolved reference: popup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/userinfo/user_zhongxin_birthday.kt:72:30 Unresolved reference: value
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/userinfo/user_zhongxin_educational.kt:58:31 Unresolved reference: value

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:compileReleaseKotlin'.
    > A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
    > Compilation error. See log for more details

  • Try:
    > Run with --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileReleaseKotlin'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
    at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:111)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:138)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:123)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:35)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:51)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:54)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:43)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:40)
    at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$executeTasks$10(DefaultBuildLifecycleController.java:313)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
    at org.gradle.internal.model.StateTransitionController.lambda$tryTransition$8(StateTransitionController.java:177)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:46)
    at org.gradle.internal.model.StateTransitionController.tryTransition(StateTransitionController.java:177)
    at org.gradle.internal.build.DefaultBuildLifecycleController.executeTasks(DefaultBuildLifecycleController.java:304)
    at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.runWork(DefaultBuildWorkGraphController.java:220)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
    at org.gradle.composite.internal.DefaultBuildController.doRun(DefaultBuildController.java:181)
    at org.gradle.composite.internal.DefaultBuildController.access$000(DefaultBuildController.java:50)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.lambda$run$0(DefaultBuildController.java:198)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.run(DefaultBuildController.java:198)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
    Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
    at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:287)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.lambda$waitForItemsAndGatherFailures$2(DefaultAsyncWorkTracker.java:130)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:335)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:318)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLock(DefaultWorkerLeaseService.java:323)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:126)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:92)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:78)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:66)
    at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:252)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:229)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:212)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:195)
    at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:162)
    at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105)
    at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:42)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:75)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
    at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50)
    at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26)
    at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:69)
    at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:46)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29)
    at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189)
    at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:75)
    at org.gradle.internal.Either$Right.fold(Either.java:175)
    at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:62)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:46)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:35)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:75)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:53)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:53)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:35)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
    at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:49)
    at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:27)
    at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:71)
    at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:39)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:107)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:56)
    at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64)
    at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43)
    at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125)
    at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:61)
    at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23)
    at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75)
    at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41)
    at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35)
    at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289)
    at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31)
    at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22)
    at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40)
    at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23)
    at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67)
    at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67)
    at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35)
    at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
    at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:111)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:138)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:123)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:35)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:51)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:54)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:43)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:40)
    at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$executeTasks$10(DefaultBuildLifecycleController.java:313)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
    at org.gradle.internal.model.StateTransitionController.lambda$tryTransition$8(StateTransitionController.java:177)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:46)
    at org.gradle.internal.model.StateTransitionController.tryTransition(StateTransitionController.java:177)
    at org.gradle.internal.build.DefaultBuildLifecycleController.executeTasks(DefaultBuildLifecycleController.java:304)
    at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.runWork(DefaultBuildWorkGraphController.java:220)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
    at org.gradle.composite.internal.DefaultBuildController.doRun(DefaultBuildController.java:181)
    at org.gradle.composite.internal.DefaultBuildController.access$000(DefaultBuildController.java:50)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.lambda$run$0(DefaultBuildController.java:198)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.run(DefaultBuildController.java:198)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
    Caused by: org.jetbrains.kotlin.gradle.tasks.CompilationErrorException: Compilation error. See log for more details
    at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwExceptionIfCompilationFailed(tasksUtils.kt:22)
    at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:144)
    at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76)
    at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
    at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
    at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133)
    ... 2 moreBUILD FAILED in 1m 36s
    gradle build error: 1

继续阅读 »

以下是HBuilderX云打包编译错误信息,分析一下是什么原因?

e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:100 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:105 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:112 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:30:121 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:31:40 Not enough information to infer type variable V
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:80:24 Unresolved reference: kObject
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:80:36 Property delegate must have a 'setValue(GenComponentsEditDatika, KProperty<>, [Error type: Unresolved type for kObject]?)' method. None of the following functions is suitable:
public inline operator fun <V> Map<in String, in Any?>.setValue(thisRef: Any?, property: KProperty<
>, value: Any?): Unit defined in io.dcloud.uts
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:93:50 Variable expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:95:50 Variable expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/edit_datika.kt:106:50 Variable expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:44:32 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:45:29 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:45:29 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:48:14 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:64:37 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:65:29 Type expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:65:29 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:68:14 Unexpected tokens (use ';' to separate expressions on the same line)
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:25:43 Unresolved reference: ctx
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:26:44 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type ComponentInternalInstance?
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:30:39 Unresolved reference: EditorContext
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:34:24 Type mismatch: inferred type is String but Unit was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:49:50 Unresolved reference: e
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:54:43 Unresolved reference: context
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:55:44 Type mismatch: inferred type is String but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/editor.kt:69:50 Unresolved reference: e
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:21:41 Unresolved reference: id
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:39:143 Unresolved reference: title
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:41:38 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:42:91 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:47:132 Unresolved reference: jctotal
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:49:84 Unresolved reference: start
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:51:89 Unresolved reference: currentPrice
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:52:90 Unresolved reference: originalPrice
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:70:42 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/subBar.kt:74:31 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:25:78 An anonymous function is not allowed to specify default values for its parameters
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:30:29 Type mismatch: inferred type is Boolean? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:30:46 Type mismatch: inferred type is UTSArray<TreeNode>? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:31:52 Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public fun <T> Array<out Array<out TypeVariable(T)>>.flatten(): List<TypeVariable(T)> defined in kotlin.collections
public fun <T> Iterable<Iterable<TypeVariable(T)>>.flatten(): List<TypeVariable(T)> defined in kotlin.collections
private fun <T, R> Sequence<TypeVariable(T)>.flatten(iterator: (TypeVariable(T)) -> Iterator<TypeVariable(R)>): Sequence<TypeVariable(R)> defined in kotlin.sequences
public fun <T> Sequence<Iterable<TypeVariable(T)>>.flatten(): Sequence<TypeVariable(T)> defined in kotlin.sequences
public fun <T> Sequence<Sequence<TypeVariable(T)>>.flatten(): Sequence<TypeVariable(T)> defined in kotlin.sequences
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:37:33 No value passed for parameter 'p2'
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:42:21 Type mismatch: inferred type is UTSArray<TreeNode>? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:43:37 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Boolean?
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:50:25 Type mismatch: inferred type is UTSArray<TreeNode>? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:51:25 Unresolved reference: initTreeData
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:57:46 Operator call corresponds to a dot-qualified call 'level.compareTo(2)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:63:47 Operator call corresponds to a dot-qualified call 'level.times(30)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:66:39 Operator call corresponds to a dot-qualified call 'level.compareTo(0)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:71:51 Operator call corresponds to a dot-qualified call 'level.times(3)' which is not allowed on a nullable receiver 'level'.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:74:24 Type mismatch: inferred type is UTSArray<TreeNode> but Unit was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:76:19 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:94:101 Type mismatch: inferred type is Boolean? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/components/treeBar.kt:99:70 Type mismatch: inferred type is Boolean? but Boolean was expected
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:153:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:191:79 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:59 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:128 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:199 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:263 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:338 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:413 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:481 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:192:550 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:194:28 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:195:12 Unresolved reference: GenUniModulesUniPopupComponentsUniPopupUniPopup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:263:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:266:11 Redeclaration: PickerChangeEvent
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:290:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:293:11 Redeclaration: PickerChangeEvent
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/index.kt:424:11 Redeclaration: Detail
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/answer_sheet.kt:93:42 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/answer_sheet.kt:93:47 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam.kt:100:33 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:33:79 Unresolved reference: title
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:34:79 Unresolved reference: sub
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:35:79 Unresolved reference: score
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/exam_record.kt:36:79 Unresolved reference: date
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/start_exam.kt:140:22 Unresolved reference: popup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:29:168 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:82 Unresolved reference: fenleis
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:95 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:101 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:108 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/exam/wrong_ques.kt:32:117 Cannot infer a type for this parameter. Please specify it explicitly.
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/home/home.kt:36:64 Unresolved reference: url
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/order_subject.kt:60:31 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:28:47 Unresolved reference: text
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:31:124 Unresolved reference: url
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:34:125 Unresolved reference: text
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:117:32 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject.kt:121:29 A type annotation is required on a value parameter
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_detal.kt:24:70 Unresolved reference: title
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_list.kt:18:23 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_list.kt:21:36 Unresolved reference: type
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/subject/subject_list.kt:116:34 Unresolved reference: scrollTop
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/userinfo/edit_touxiang.kt:64:22 Unresolved reference: popup
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/userinfo/user_zhongxin_birthday.kt:72:30 Unresolved reference: value
e: file://[PackagePath]/wgtRoot/UNI2207F5A/.uniappx/android/src/pages/userinfo/user_zhongxin_educational.kt:58:31 Unresolved reference: value

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:compileReleaseKotlin'.
    > A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
    > Compilation error. See log for more details

  • Try:
    > Run with --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileReleaseKotlin'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
    at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:111)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:138)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:123)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:35)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:51)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:54)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:43)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:40)
    at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$executeTasks$10(DefaultBuildLifecycleController.java:313)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
    at org.gradle.internal.model.StateTransitionController.lambda$tryTransition$8(StateTransitionController.java:177)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:46)
    at org.gradle.internal.model.StateTransitionController.tryTransition(StateTransitionController.java:177)
    at org.gradle.internal.build.DefaultBuildLifecycleController.executeTasks(DefaultBuildLifecycleController.java:304)
    at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.runWork(DefaultBuildWorkGraphController.java:220)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
    at org.gradle.composite.internal.DefaultBuildController.doRun(DefaultBuildController.java:181)
    at org.gradle.composite.internal.DefaultBuildController.access$000(DefaultBuildController.java:50)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.lambda$run$0(DefaultBuildController.java:198)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.run(DefaultBuildController.java:198)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
    Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
    at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:287)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.lambda$waitForItemsAndGatherFailures$2(DefaultAsyncWorkTracker.java:130)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:335)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:318)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLock(DefaultWorkerLeaseService.java:323)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:126)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:92)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:78)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:66)
    at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:252)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:229)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:212)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:195)
    at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:162)
    at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105)
    at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:42)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:75)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
    at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50)
    at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26)
    at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:69)
    at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:46)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29)
    at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189)
    at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:75)
    at org.gradle.internal.Either$Right.fold(Either.java:175)
    at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:62)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:46)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:35)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:75)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:53)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:53)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:35)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
    at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:49)
    at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:27)
    at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:71)
    at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:39)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:107)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:56)
    at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64)
    at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43)
    at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125)
    at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:61)
    at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23)
    at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75)
    at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41)
    at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35)
    at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289)
    at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31)
    at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22)
    at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40)
    at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23)
    at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67)
    at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67)
    at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35)
    at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
    at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:111)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:138)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:123)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:35)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:51)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:54)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:43)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:40)
    at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$executeTasks$10(DefaultBuildLifecycleController.java:313)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
    at org.gradle.internal.model.StateTransitionController.lambda$tryTransition$8(StateTransitionController.java:177)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:46)
    at org.gradle.internal.model.StateTransitionController.tryTransition(StateTransitionController.java:177)
    at org.gradle.internal.build.DefaultBuildLifecycleController.executeTasks(DefaultBuildLifecycleController.java:304)
    at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.runWork(DefaultBuildWorkGraphController.java:220)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
    at org.gradle.composite.internal.DefaultBuildController.doRun(DefaultBuildController.java:181)
    at org.gradle.composite.internal.DefaultBuildController.access$000(DefaultBuildController.java:50)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.lambda$run$0(DefaultBuildController.java:198)
    at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
    at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.run(DefaultBuildController.java:198)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
    Caused by: org.jetbrains.kotlin.gradle.tasks.CompilationErrorException: Compilation error. See log for more details
    at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwExceptionIfCompilationFailed(tasksUtils.kt:22)
    at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:144)
    at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76)
    at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
    at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
    at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133)
    ... 2 moreBUILD FAILED in 1m 36s
    gradle build error: 1

收起阅读 »

uniapp-x下的tab组件的简单实现

tab

<view class="tablist flex-row flex-wrap justify-between">
<text class="item t-center" :class="{'active': selectTab == index}" v-for="(item, index) in tablist" @click="changeTab(index)">{{item}}</text>
</view>
<swiper :indicator-dots="false" :autoplay="false" :current="selectTab" @change="changeEvent">
<swiper-item v-for="(item, index) in tablist">
<view class="swiper-item">
{{item}}
</view>
</swiper-item>
</swiper>


const selectTab = ref(0)  
const tablist = ["内容1", "内容2", "内容3", "内容4"]  

const changeTab = (index: number)=>{  
    selectTab.value = index  
}  
const changeEvent = (event: UniSwiperChangeEvent)=>{  
    selectTab.value = event.detail.current  
}  
继续阅读 »

<view class="tablist flex-row flex-wrap justify-between">
<text class="item t-center" :class="{'active': selectTab == index}" v-for="(item, index) in tablist" @click="changeTab(index)">{{item}}</text>
</view>
<swiper :indicator-dots="false" :autoplay="false" :current="selectTab" @change="changeEvent">
<swiper-item v-for="(item, index) in tablist">
<view class="swiper-item">
{{item}}
</view>
</swiper-item>
</swiper>


const selectTab = ref(0)  
const tablist = ["内容1", "内容2", "内容3", "内容4"]  

const changeTab = (index: number)=>{  
    selectTab.value = index  
}  
const changeEvent = (event: UniSwiperChangeEvent)=>{  
    selectTab.value = event.detail.current  
}  
收起阅读 »

基于flutter3.32+window_manager仿mac/wins桌面版os

flutter

flutter3-winchat:最新版原创flutter3.32+dart3.8+getx+window_manager+reorderables桌面端仿macOS/windows风格os实例。毛玻璃虚化背景、桌面栅格布局模板、Dock菜单可拖拽排序、自定义JSON配置桌面/dock菜单。

实现技术

  • 跨平台框架:Flutter3.32+Dart3.8
  • 窗口管理:window_manager^0.5.1
  • 路由/状态管理:get^4.7.2
  • 缓存服务:get_storage^2.1.1
  • 拖拽排序:reorderables^0.6.0
  • 图表组件:fl_chart^1.0.0
  • 托盘管理:system_tray^2.0.3

项目框架结构

> ### flutter3-macos桌面端os系统已经更新到我的原创作品集。
> flutter3.32+window_manager桌面端OS系统

热文推荐

最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

继续阅读 »

flutter3-winchat:最新版原创flutter3.32+dart3.8+getx+window_manager+reorderables桌面端仿macOS/windows风格os实例。毛玻璃虚化背景、桌面栅格布局模板、Dock菜单可拖拽排序、自定义JSON配置桌面/dock菜单。

实现技术

  • 跨平台框架:Flutter3.32+Dart3.8
  • 窗口管理:window_manager^0.5.1
  • 路由/状态管理:get^4.7.2
  • 缓存服务:get_storage^2.1.1
  • 拖拽排序:reorderables^0.6.0
  • 图表组件:fl_chart^1.0.0
  • 托盘管理:system_tray^2.0.3

项目框架结构

> ### flutter3-macos桌面端os系统已经更新到我的原创作品集。
> flutter3.32+window_manager桌面端OS系统

热文推荐

最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

收起阅读 »

canvasToTempFilePath:fail fail canvas is empty

uniapp uni_app x

关于uniapp x 使用了 uni.canvasToTempFilePath方法后无法得到路径的问题,通过一段时间的踩坑,终于解决了。

首先我们使用uniapp x的时候,大概率是使用uni.createCanvasContextAsync 方法,然后画完之后,就需要导出图片,这时候如果按照 uni.canvasToTempFilePath 方法去导出,我遇到了 “canvasToTempFilePath:fail fail canvas is empty” 报错,可我明明是使用了官方的方法去传入变量啊。下列就是代码实现过程:

    uni.createSelectorQuery().select('#lastCanvas').fields({  
        node:true  
    },(res)=>{  
        console.log(res);  
    }).exec((ret)=>{  
        console.log(ret);  
        uni.canvasToTempFilePath({  
            canvasId:"lastCanvas",  
            canvas:ret[0].node,  
            success:function(res){  
                console.log(res)  
            },  
            fail:function(err){  
                console.log(err)  
            }  
        },this);  
    });

我们先去找到元素的node,然后把它塞进去canvas, 就能拿到我们的导出图片了。
真的是又又又踩坑了。

继续阅读 »

关于uniapp x 使用了 uni.canvasToTempFilePath方法后无法得到路径的问题,通过一段时间的踩坑,终于解决了。

首先我们使用uniapp x的时候,大概率是使用uni.createCanvasContextAsync 方法,然后画完之后,就需要导出图片,这时候如果按照 uni.canvasToTempFilePath 方法去导出,我遇到了 “canvasToTempFilePath:fail fail canvas is empty” 报错,可我明明是使用了官方的方法去传入变量啊。下列就是代码实现过程:

    uni.createSelectorQuery().select('#lastCanvas').fields({  
        node:true  
    },(res)=>{  
        console.log(res);  
    }).exec((ret)=>{  
        console.log(ret);  
        uni.canvasToTempFilePath({  
            canvasId:"lastCanvas",  
            canvas:ret[0].node,  
            success:function(res){  
                console.log(res)  
            },  
            fail:function(err){  
                console.log(err)  
            }  
        },this);  
    });

我们先去找到元素的node,然后把它塞进去canvas, 就能拿到我们的导出图片了。
真的是又又又踩坑了。

收起阅读 »

基于flutter3.27客户端仿微信聊天Exe模板

flutter

flutter3-winchat:最新研发flutter3.27+dart3.6+getx+bitsdojo_window+media_kit+system_tray电脑端仿微信聊天Exe实例。包含聊天、联系人、收藏、朋友圈、小视频、我的等模块。

实现技术

  • 技术框架:Flutter3.27.1+Dart3.6.0
  • 窗口管理:bitsdojo_window: ^0.1.6
  • 托盘图标:system_tray: ^2.0.3
  • 路由/状态管理:get: ^4.7.2
  • 本地存储:get_storage: ^2.1.1
  • 图片预览:photo_view: ^0.15.0
  • 网址预览:url_launcher: ^6.3.1
  • 视频组件:media_kit: ^1.2.0
  • 文件选择器:file_picker: ^10.2.0

项目结构目录

flutter3-winchat桌面端聊天项目已经发布到我的原创作品集。

Flutter3.27+bitsdojo_window仿微信客户端聊天Exe

想要了解项目具体的实现情况,可以去看看下面的这篇分享文章。
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用

热文推荐

最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用

继续阅读 »

flutter3-winchat:最新研发flutter3.27+dart3.6+getx+bitsdojo_window+media_kit+system_tray电脑端仿微信聊天Exe实例。包含聊天、联系人、收藏、朋友圈、小视频、我的等模块。

实现技术

  • 技术框架:Flutter3.27.1+Dart3.6.0
  • 窗口管理:bitsdojo_window: ^0.1.6
  • 托盘图标:system_tray: ^2.0.3
  • 路由/状态管理:get: ^4.7.2
  • 本地存储:get_storage: ^2.1.1
  • 图片预览:photo_view: ^0.15.0
  • 网址预览:url_launcher: ^6.3.1
  • 视频组件:media_kit: ^1.2.0
  • 文件选择器:file_picker: ^10.2.0

项目结构目录

flutter3-winchat桌面端聊天项目已经发布到我的原创作品集。

Flutter3.27+bitsdojo_window仿微信客户端聊天Exe

想要了解项目具体的实现情况,可以去看看下面的这篇分享文章。
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用

热文推荐

最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用

收起阅读 »

基于flutter3.32仿微信app聊天模板

flutter

flutter3-chat:基于最新跨平台技术flutter3.32+dart3.8+get_storage+photo_view+toast搭建仿微信App界面聊天项目。包含聊天、通讯录、我的、朋友圈模块。实现发送图文消息、gif大图、长按仿微信语音操作面板、图片预览、红包/朋友圈等功能。

使用技术

  • 框架技术:Flutter3.32+Dart3.8
  • 组件库:material-design3
  • 弹窗组件:showDialog/SimpleDialog/showModalBottomSheet/AlertDialog
  • 图片预览:photo_view^0.15.0
  • 存储组件:get_storage^2.1.1
  • 下拉刷新:easy_refresh^3.4.0
  • toast提示:toast^0.3.0
  • 网址预览组件:url_launcher^6.3.1

项目框架目录

flutter3-chat聊天app模板已经更新到我的原创作品集。

flutter3.32+dart3.8跨平台仿微信聊天app应用

如果想要了解更多项目实现情况,可以去看看下面这篇文章。
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈

热文推荐

最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用

继续阅读 »

flutter3-chat:基于最新跨平台技术flutter3.32+dart3.8+get_storage+photo_view+toast搭建仿微信App界面聊天项目。包含聊天、通讯录、我的、朋友圈模块。实现发送图文消息、gif大图、长按仿微信语音操作面板、图片预览、红包/朋友圈等功能。

使用技术

  • 框架技术:Flutter3.32+Dart3.8
  • 组件库:material-design3
  • 弹窗组件:showDialog/SimpleDialog/showModalBottomSheet/AlertDialog
  • 图片预览:photo_view^0.15.0
  • 存储组件:get_storage^2.1.1
  • 下拉刷新:easy_refresh^3.4.0
  • toast提示:toast^0.3.0
  • 网址预览组件:url_launcher^6.3.1

项目框架目录

flutter3-chat聊天app模板已经更新到我的原创作品集。

flutter3.32+dart3.8跨平台仿微信聊天app应用

如果想要了解更多项目实现情况,可以去看看下面这篇文章。
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈

热文推荐

最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用

收起阅读 »

uniapp-x 官方文档 UTSActivityCallback 示例有误

uni-app-x

大标题

官方链接 :https://doc.dcloud.net.cn/uni-app-x/uts/utsactivitycallback.html#UniActivityKeyEventCallback

uvue代码部分缺少变量 cbText,新建 uni_modules插件不能以uts开头,即示例中的 uts-syntaxcase 不可以以这个命名,将其改为 muts-syntaxcase

uts代码代码缺少所有需要引入的库,除了内置库。

缺少以下库

import Bundle from "android.os.Bundle"  
import KeyEvent from "android.view.KeyEvent"  
import WindowManager from "android.view.WindowManager"   
import Menu from "android.view.Menu"  
import ActionMode from "android.view.ActionMode"  
import Configuration from "android.content.res.Configuration"  
import KeyboardShortcutGroup from "android.view.KeyboardShortcutGroup";

完整代码

------uvue页面代码------

<template>  
    <!-- #ifdef APP-ANDROID -->  
    <scroll-view style="flex: 1">  
        <view>  
            <view class="uni-padding-wrap uni-common-mt">  
                <view class="text-box" scroll-y="true">  
                    <text>{{ text }}</text>  
                </view>  
            </view>  
            <button @tap="activityCallback">注册activity 回调方法</button>  
            <view class="uni-padding-wrap uni-common-mt">  
                <view class="uni-hello-text">  
                    点击注册activity 回调方法后,可以手动切换其他APP再返回,可在控制台和界面观察事件日志  
                </view>  
            </view>  
            <view class="uni-padding-wrap uni-common-mt">  
                <view class="text-box" scroll-y="true">  
                    <text>{{ cbText }}</text>  
                </view>  
            </view>  
            <button @tap="unRegActivityCallback">取消注册activity 回调方法</button>  
        </view>  
    </scroll-view>  
    <!-- #endif -->  
</template>  

<script>  
    // #ifdef APP-ANDROID  
    import {  
        UTSAcvitiyLifeCycleCallback,  
        UTSAcvitiyKeyEventCallback,  
        UTSActivityWindowCallback,  
        UTSActivityCallback,  
        UTSActivityComponentCallback,  
        onCallbackChange  
    } from '@/uni_modules/muts-syntaxcase'  
    // #endif  

    import File from 'java.io.File';  
    import Intent from 'android.content.Intent';  

    export default {  
        data() {  
            return {  
                text: '',  
                cbText: "" as string,  
                callback: [] as Any[]  
            }  
        },  
        unmounted() {  
            // #ifdef APP-ANDROID  
            this.unRegActivityCallback()  
            // #endif  

        },  
        methods: {  
            // #ifdef APP-ANDROID  
            // #ifdef UNI-APP-X  
            activityCallback() {  
                var that = this  
                onCallbackChange(function (eventLog : string) {  
                    // 展示捕捉到的声明周期日志  
                    let nextLine = that.cbText + eventLog  
                    that.cbText = nextLine  
                    let nextLineFlag = that.cbText + '\n'  
                    that.cbText = nextLineFlag  
                })  
                let index = getCurrentPages().length - 1  
                let page = getCurrentPages()[index]  
                console.log('page route=' + page.route)  
                this.callback.push(new UTSAcvitiyLifeCycleCallback())  
                this.callback.push(new UTSActivityWindowCallback())  
                this.callback.push(new UTSAcvitiyKeyEventCallback())  
                this.callback.push(new UTSActivityCallback(), page.route)  
                this.callback.push(new UTSActivityComponentCallback())  
                this.callback.forEach((value) => {  
                    if (value instanceof UTSAcvitiyLifeCycleCallback) {  
                        UTSAndroid.onActivityCallback(value, page.route)  
                    }  
                    if (value instanceof UTSActivityWindowCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  
                    if (value instanceof UTSAcvitiyKeyEventCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityComponentCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  

                })  
            },  
            unRegActivityCallback() {  
                this.callback.forEach((value) => {  

                    if (value instanceof UTSAcvitiyLifeCycleCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityWindowCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSAcvitiyKeyEventCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityComponentCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                })  
            }  
            // #endif  
            // #endif  
        },  
    }  
</script>

------uts代码------

代码位置:uni_modules/muts-syntaxcase/utssdk/app-android/index.uts

let callback : (eventLog : string) => void = (res) => { };  

export function onCallbackChange(fn : (eventLog : string) => void) {  
    callback = fn  
}  
import Bundle from "android.os.Bundle"  
import KeyEvent from "android.view.KeyEvent"  
import WindowManager from "android.view.WindowManager"   
import Menu from "android.view.Menu"  
import ActionMode from "android.view.ActionMode"  
import Configuration from "android.content.res.Configuration"  
import KeyboardShortcutGroup from "android.view.KeyboardShortcutGroup";  
export class UTSAcvitiyLifeCycleCallback extends UniActivityLifeCycleCallback {  
    constructor() {  
        super()  
    }  
    override onCreate(params : UniActivityParams, savedInstanceState : Bundle | null) {  
        console.log('UTSAcvitiyLifeCycle', 'onCreate', savedInstanceState)  
        callback('onCreate')  
    }  

    override onResume(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onResume', params)  
        callback('onResume')  
    }  
    override onPreResume(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onPreResume', params)  
        callback('onPreResume')  
    }  
    override onStart(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onStart', params)  
        callback('onStart')  
    }  
    override onPreStart(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onPreStart', params)  
        callback('onPreStart')  
    }  
}  
export class UTSAcvitiyKeyEventCallback extends UniActivityKeyEventCallback {  
    constructor() {  
        super()  
    }  
    override onKeyDown(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onKeyDown', params, keyCode, '' + event)  
        callback('onKeyDown')  
    }  
    override onPreKeyDown(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onPreKeyDown', params, keyCode, '' + event)  
        callback('onPreKeyDown')  
    }  
    override onKeyLongPress(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onKeyLongPress', params, keyCode, '' + event)  
        callback('onKeyLongPress')  
    }  
    override onPreKeyLongPress(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onPreKeyLongPress', params, keyCode, '' + event)  
        callback('onPreKeyLongPress')  
    }  
}  

export class UTSActivityWindowCallback extends UniActivityWindowCallback {  
    constructor() {  
        super()  
    }  
    override dispatchPreKeyEvent(params : UniActivityParams, event : KeyEvent | null) {  
        console.log('UTSActivityWindowCallback', 'dispatchPreKeyEvent', params, '' + event)  
        callback('dispatchPreKeyEvent')  
    }  
    override dispatchKeyEvent(params : UniActivityParams, event : KeyEvent | null) {  
        console.log('UTSActivityWindowCallback', 'dispatchKeyEvent', params, '' + event)  
        callback('dispatchKeyEvent')  
    }  
    override  onWindowAttributesChanged(params : UniActivityParams, attrs : WindowManager.LayoutParams) {  
        console.log('UTSActivityWindowCallback', 'onWindowAttributesChanged', '' + attrs)  
        callback('onWindowAttributesChanged')  

    }  
    override onAttachedToWindow(params : UniActivityParams) {  
        console.log('UTSActivityWindowCallback', 'onAttachedToWindow', params)  
        callback('onAttachedToWindow')  

    }  
    override onPanelClosed(params : UniActivityParams, featureId : Int, menu : Menu) {  
        console.log('UTSActivityWindowCallback', 'onPanelClosed', featureId, menu)  
        callback('onPanelClosed')  

    }  
    override onWindowStartingActionMode(params : UniActivityParams, callback : ActionMode.Callback | null) {  
        console.log('UTSActivityWindowCallback', 'onWindowStartingActionMode', callback)  
        callback('onWindowStartingActionMode')  
    }  
    override onProvideKeyboardShortcuts(params : UniActivityParams, data : MutableList<KeyboardShortcutGroup> | null, menu : Menu | null, deviceId : Int) {  
        console.log('UTSActivityWindowCallback', 'onProvideKeyboardShortcuts', data, menu)  
        callback('onProvideKeyboardShortcuts')  
    }  
    override  onPreWindowAttributesChanged(params : UniActivityParams, attrs : WindowManager.LayoutParams) {  
        console.log('UTSActivityWindowCallback', 'onPreWindowAttributesChanged', attrs)  
        callback('onPreWindowAttributesChanged')  
    }  
    override  onPrePanelClosed(params : UniActivityParams, featureId : Int, menu : Menu) {  
        console.log('UTSActivityWindowCallback', 'onPrePanelClosed', featureId, menu)  
        callback('onPrePanelClosed')  
    }  
}  

export class UTSActivityCallback extends UniActivityCallback {  
    constructor() {  
        super()  
    }  
    override onRequestPermissionsResult(params : UniActivityParams, requestCode : Int, permissions : MutableList<String>, grantResults : IntArray) {  
        console.log('UTSActivityCallback', 'onRequestPermissionsResult', params)  
        callback('onRequestPermissionsResult')  
    }  

}  

export class UTSActivityComponentCallback extends UniActivityComponentCallback {  
    constructor() {  
        super()  
    }  
    override onConfigurationChanged(params : UniActivityParams, newConfig : Configuration) {  
        console.log('UTSActivityComponentCallback', 'onConfigurationChanged', params, '' + newConfig)  
        callback('onConfigurationChanged')  
    }  
    override onPreConfigurationChanged(params : UniActivityParams, newConfig : Configuration) {  
        console.log('UTSActivityComponentCallback', 'onPreConfigurationChanged', params, '' + newConfig)  
        callback('onPreConfigurationChanged')  
    }  
}

使用HbuilderX 4.74.2025063012-alpha版本编写

继续阅读 »

大标题

官方链接 :https://doc.dcloud.net.cn/uni-app-x/uts/utsactivitycallback.html#UniActivityKeyEventCallback

uvue代码部分缺少变量 cbText,新建 uni_modules插件不能以uts开头,即示例中的 uts-syntaxcase 不可以以这个命名,将其改为 muts-syntaxcase

uts代码代码缺少所有需要引入的库,除了内置库。

缺少以下库

import Bundle from "android.os.Bundle"  
import KeyEvent from "android.view.KeyEvent"  
import WindowManager from "android.view.WindowManager"   
import Menu from "android.view.Menu"  
import ActionMode from "android.view.ActionMode"  
import Configuration from "android.content.res.Configuration"  
import KeyboardShortcutGroup from "android.view.KeyboardShortcutGroup";

完整代码

------uvue页面代码------

<template>  
    <!-- #ifdef APP-ANDROID -->  
    <scroll-view style="flex: 1">  
        <view>  
            <view class="uni-padding-wrap uni-common-mt">  
                <view class="text-box" scroll-y="true">  
                    <text>{{ text }}</text>  
                </view>  
            </view>  
            <button @tap="activityCallback">注册activity 回调方法</button>  
            <view class="uni-padding-wrap uni-common-mt">  
                <view class="uni-hello-text">  
                    点击注册activity 回调方法后,可以手动切换其他APP再返回,可在控制台和界面观察事件日志  
                </view>  
            </view>  
            <view class="uni-padding-wrap uni-common-mt">  
                <view class="text-box" scroll-y="true">  
                    <text>{{ cbText }}</text>  
                </view>  
            </view>  
            <button @tap="unRegActivityCallback">取消注册activity 回调方法</button>  
        </view>  
    </scroll-view>  
    <!-- #endif -->  
</template>  

<script>  
    // #ifdef APP-ANDROID  
    import {  
        UTSAcvitiyLifeCycleCallback,  
        UTSAcvitiyKeyEventCallback,  
        UTSActivityWindowCallback,  
        UTSActivityCallback,  
        UTSActivityComponentCallback,  
        onCallbackChange  
    } from '@/uni_modules/muts-syntaxcase'  
    // #endif  

    import File from 'java.io.File';  
    import Intent from 'android.content.Intent';  

    export default {  
        data() {  
            return {  
                text: '',  
                cbText: "" as string,  
                callback: [] as Any[]  
            }  
        },  
        unmounted() {  
            // #ifdef APP-ANDROID  
            this.unRegActivityCallback()  
            // #endif  

        },  
        methods: {  
            // #ifdef APP-ANDROID  
            // #ifdef UNI-APP-X  
            activityCallback() {  
                var that = this  
                onCallbackChange(function (eventLog : string) {  
                    // 展示捕捉到的声明周期日志  
                    let nextLine = that.cbText + eventLog  
                    that.cbText = nextLine  
                    let nextLineFlag = that.cbText + '\n'  
                    that.cbText = nextLineFlag  
                })  
                let index = getCurrentPages().length - 1  
                let page = getCurrentPages()[index]  
                console.log('page route=' + page.route)  
                this.callback.push(new UTSAcvitiyLifeCycleCallback())  
                this.callback.push(new UTSActivityWindowCallback())  
                this.callback.push(new UTSAcvitiyKeyEventCallback())  
                this.callback.push(new UTSActivityCallback(), page.route)  
                this.callback.push(new UTSActivityComponentCallback())  
                this.callback.forEach((value) => {  
                    if (value instanceof UTSAcvitiyLifeCycleCallback) {  
                        UTSAndroid.onActivityCallback(value, page.route)  
                    }  
                    if (value instanceof UTSActivityWindowCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  
                    if (value instanceof UTSAcvitiyKeyEventCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityComponentCallback) {  
                        UTSAndroid.onActivityCallback(value)  
                    }  

                })  
            },  
            unRegActivityCallback() {  
                this.callback.forEach((value) => {  

                    if (value instanceof UTSAcvitiyLifeCycleCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityWindowCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSAcvitiyKeyEventCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                    if (value instanceof UTSActivityComponentCallback) {  
                        UTSAndroid.offActivityCallback(value)  
                    }  
                })  
            }  
            // #endif  
            // #endif  
        },  
    }  
</script>

------uts代码------

代码位置:uni_modules/muts-syntaxcase/utssdk/app-android/index.uts

let callback : (eventLog : string) => void = (res) => { };  

export function onCallbackChange(fn : (eventLog : string) => void) {  
    callback = fn  
}  
import Bundle from "android.os.Bundle"  
import KeyEvent from "android.view.KeyEvent"  
import WindowManager from "android.view.WindowManager"   
import Menu from "android.view.Menu"  
import ActionMode from "android.view.ActionMode"  
import Configuration from "android.content.res.Configuration"  
import KeyboardShortcutGroup from "android.view.KeyboardShortcutGroup";  
export class UTSAcvitiyLifeCycleCallback extends UniActivityLifeCycleCallback {  
    constructor() {  
        super()  
    }  
    override onCreate(params : UniActivityParams, savedInstanceState : Bundle | null) {  
        console.log('UTSAcvitiyLifeCycle', 'onCreate', savedInstanceState)  
        callback('onCreate')  
    }  

    override onResume(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onResume', params)  
        callback('onResume')  
    }  
    override onPreResume(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onPreResume', params)  
        callback('onPreResume')  
    }  
    override onStart(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onStart', params)  
        callback('onStart')  
    }  
    override onPreStart(params : UniActivityParams) {  
        console.log('UTSAcvitiyLifeCycle', 'onPreStart', params)  
        callback('onPreStart')  
    }  
}  
export class UTSAcvitiyKeyEventCallback extends UniActivityKeyEventCallback {  
    constructor() {  
        super()  
    }  
    override onKeyDown(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onKeyDown', params, keyCode, '' + event)  
        callback('onKeyDown')  
    }  
    override onPreKeyDown(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onPreKeyDown', params, keyCode, '' + event)  
        callback('onPreKeyDown')  
    }  
    override onKeyLongPress(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onKeyLongPress', params, keyCode, '' + event)  
        callback('onKeyLongPress')  
    }  
    override onPreKeyLongPress(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {  
        console.log('UTSAcvitiyKeyEvent', 'onPreKeyLongPress', params, keyCode, '' + event)  
        callback('onPreKeyLongPress')  
    }  
}  

export class UTSActivityWindowCallback extends UniActivityWindowCallback {  
    constructor() {  
        super()  
    }  
    override dispatchPreKeyEvent(params : UniActivityParams, event : KeyEvent | null) {  
        console.log('UTSActivityWindowCallback', 'dispatchPreKeyEvent', params, '' + event)  
        callback('dispatchPreKeyEvent')  
    }  
    override dispatchKeyEvent(params : UniActivityParams, event : KeyEvent | null) {  
        console.log('UTSActivityWindowCallback', 'dispatchKeyEvent', params, '' + event)  
        callback('dispatchKeyEvent')  
    }  
    override  onWindowAttributesChanged(params : UniActivityParams, attrs : WindowManager.LayoutParams) {  
        console.log('UTSActivityWindowCallback', 'onWindowAttributesChanged', '' + attrs)  
        callback('onWindowAttributesChanged')  

    }  
    override onAttachedToWindow(params : UniActivityParams) {  
        console.log('UTSActivityWindowCallback', 'onAttachedToWindow', params)  
        callback('onAttachedToWindow')  

    }  
    override onPanelClosed(params : UniActivityParams, featureId : Int, menu : Menu) {  
        console.log('UTSActivityWindowCallback', 'onPanelClosed', featureId, menu)  
        callback('onPanelClosed')  

    }  
    override onWindowStartingActionMode(params : UniActivityParams, callback : ActionMode.Callback | null) {  
        console.log('UTSActivityWindowCallback', 'onWindowStartingActionMode', callback)  
        callback('onWindowStartingActionMode')  
    }  
    override onProvideKeyboardShortcuts(params : UniActivityParams, data : MutableList<KeyboardShortcutGroup> | null, menu : Menu | null, deviceId : Int) {  
        console.log('UTSActivityWindowCallback', 'onProvideKeyboardShortcuts', data, menu)  
        callback('onProvideKeyboardShortcuts')  
    }  
    override  onPreWindowAttributesChanged(params : UniActivityParams, attrs : WindowManager.LayoutParams) {  
        console.log('UTSActivityWindowCallback', 'onPreWindowAttributesChanged', attrs)  
        callback('onPreWindowAttributesChanged')  
    }  
    override  onPrePanelClosed(params : UniActivityParams, featureId : Int, menu : Menu) {  
        console.log('UTSActivityWindowCallback', 'onPrePanelClosed', featureId, menu)  
        callback('onPrePanelClosed')  
    }  
}  

export class UTSActivityCallback extends UniActivityCallback {  
    constructor() {  
        super()  
    }  
    override onRequestPermissionsResult(params : UniActivityParams, requestCode : Int, permissions : MutableList<String>, grantResults : IntArray) {  
        console.log('UTSActivityCallback', 'onRequestPermissionsResult', params)  
        callback('onRequestPermissionsResult')  
    }  

}  

export class UTSActivityComponentCallback extends UniActivityComponentCallback {  
    constructor() {  
        super()  
    }  
    override onConfigurationChanged(params : UniActivityParams, newConfig : Configuration) {  
        console.log('UTSActivityComponentCallback', 'onConfigurationChanged', params, '' + newConfig)  
        callback('onConfigurationChanged')  
    }  
    override onPreConfigurationChanged(params : UniActivityParams, newConfig : Configuration) {  
        console.log('UTSActivityComponentCallback', 'onPreConfigurationChanged', params, '' + newConfig)  
        callback('onPreConfigurationChanged')  
    }  
}

使用HbuilderX 4.74.2025063012-alpha版本编写

收起阅读 »

我对uniappx的一些看法

我早期写mui, 后续用apicoud ,此时apicloud服务层面做的更好。
后放弃apicloud使用flutter, flutter理念更加不错。
最近发现uniappx ,觉得uniappx理念不错,这些理念都是有迹可循,但没有形成规范,兼容平台过多形成累赘。
1.我觉得uniappx应该放弃其他web端技术的平台,由uniapp继续支持,因为web本就互通。一次写多端理解适配web技术产品还行,
app 3端,这样适配,只会导致app 3端只能做简单应用层app,复制大型应用只能再次去选择flutter或者原生,uniappx在整体布局上明显不足。
2.uniappx的竞争对象应该是flutter,不仅仅编译适配3端,还可以考虑适配c#桌面,linux系统。不应该局限在应用层,
用web技术代码风格规范,去适配其他平台的应用。
3.目前这种大杂烩,uniapp,uniappx互相兼容的模式,带来各种混乱
01.文档层面,准确度不够,对比案例和文档,有些内容基本没有写入文档,或者在uniapp文档中,但对于没有用过和不了解uniapp非常麻烦,
并且uniapp的理念在当下并不新颖。此处对uniappx人员非常不友好。
02.uniappx借助了各种理念,比喻借助了vue,ts等,编译需要,并不会全部使用,但在文档上并没有与这些语言框架切割,还需要去其他平台看那些技术的文档,
dcloud对于这些讲解不全,我猜dcloud底层架构人员都是前端,用前端思维去解决所有问题,并且默认认为所有人都懂前端发展的层次技术,
借助前端的理念去规范和组织代码是没有问题的,但没必要去借助前端思维。
03.前端技术有极强的互通性,如web,各平台小程序,写各个平台不需要学新技术,仅仅是节省了一点开发时间,其他没啥优势,甚至在各平台新功能上无法即使更新,
那么其服务的群体也是国内的微型公司或者是市场性公司,功能也极具简单,也说明了布局者眼光非常窄,放弃了全球市场,也没有全球的世界观,
当然也就没有大的高加载的客户群体,目前这种节省了一点开发时间的成本,其附加值本就低,很有可能会转移到其他非发达国家去开发,
届时dcloud的这种服务对象会错位。
4.目前我看到的uniappx的优势是
1.用web技术代码风格规范,通过编译的能力适配各平台。
2.最早适配鸿蒙的混合模式,flutter都没这么快,这是市场空白期。

继续阅读 »

我早期写mui, 后续用apicoud ,此时apicloud服务层面做的更好。
后放弃apicloud使用flutter, flutter理念更加不错。
最近发现uniappx ,觉得uniappx理念不错,这些理念都是有迹可循,但没有形成规范,兼容平台过多形成累赘。
1.我觉得uniappx应该放弃其他web端技术的平台,由uniapp继续支持,因为web本就互通。一次写多端理解适配web技术产品还行,
app 3端,这样适配,只会导致app 3端只能做简单应用层app,复制大型应用只能再次去选择flutter或者原生,uniappx在整体布局上明显不足。
2.uniappx的竞争对象应该是flutter,不仅仅编译适配3端,还可以考虑适配c#桌面,linux系统。不应该局限在应用层,
用web技术代码风格规范,去适配其他平台的应用。
3.目前这种大杂烩,uniapp,uniappx互相兼容的模式,带来各种混乱
01.文档层面,准确度不够,对比案例和文档,有些内容基本没有写入文档,或者在uniapp文档中,但对于没有用过和不了解uniapp非常麻烦,
并且uniapp的理念在当下并不新颖。此处对uniappx人员非常不友好。
02.uniappx借助了各种理念,比喻借助了vue,ts等,编译需要,并不会全部使用,但在文档上并没有与这些语言框架切割,还需要去其他平台看那些技术的文档,
dcloud对于这些讲解不全,我猜dcloud底层架构人员都是前端,用前端思维去解决所有问题,并且默认认为所有人都懂前端发展的层次技术,
借助前端的理念去规范和组织代码是没有问题的,但没必要去借助前端思维。
03.前端技术有极强的互通性,如web,各平台小程序,写各个平台不需要学新技术,仅仅是节省了一点开发时间,其他没啥优势,甚至在各平台新功能上无法即使更新,
那么其服务的群体也是国内的微型公司或者是市场性公司,功能也极具简单,也说明了布局者眼光非常窄,放弃了全球市场,也没有全球的世界观,
当然也就没有大的高加载的客户群体,目前这种节省了一点开发时间的成本,其附加值本就低,很有可能会转移到其他非发达国家去开发,
届时dcloud的这种服务对象会错位。
4.目前我看到的uniappx的优势是
1.用web技术代码风格规范,通过编译的能力适配各平台。
2.最早适配鸿蒙的混合模式,flutter都没这么快,这是市场空白期。

收起阅读 »

文档真是够够的,研究都要找瞎也没看到哪儿有UTS插件导出接口名称的定义全是类型定义

uts插件 文档

interface.uts 作为整个插件的入口声明 文档找了个遍也没看到怎么定义每个函数的名称 通篇都是类型 ,类型导出也是犯愁

插件申明文件中 export type和export type 对外都不可见,尝试用 export class (本不应该用class,这里没有具体实现)
结果 编译运行开始报错平台实现没找到导出的类型
然后在接口声明一个 接口 去平台目录实现 好家伙接口中要返回的类型必须 改成接口里面声明的接口 外面又看不到接口中导出的 interface
只能用typ 导出 t ype导出了 实现的时候需要一个class 去实现返回封装 好家伙类型又报错

interface.uts

export/open/public/   interface  IResult {  
        x:number  
        y:number;  
       close():void   
}  

  export interface IPlugins {      

    a():void   
    b():Promise<IResult>  

  }   

web/index.uts

class IResultWebImpl  implements IResult  {  
     //     
}  

PluginsWebImpl implements IPlugins  {  

  //...   
}

// page/index.uts;

import * as P from  '@/uni_modules/xx'  

P.b().then(r:P.IResult ) {  
        // .....  
}  

外部使用的始终是 接口定义的不关心实现 这种模式很难实现吗?

简化一下

interface.uts

export/open/public/   interface  IResult {  
        x:number  
        y:number;  
       close():void   
}  

//  export interface IPlugins {     省略掉  

 export  function a ():void   
  export  function b ():Promise<IResult>  

//  }   

或者使用 internal open public protected declare 等等标记 一下 应该不是多难得事情
面向接口而非实现 不是首要遵守的吗 为什么那么折腾

继续阅读 »

interface.uts 作为整个插件的入口声明 文档找了个遍也没看到怎么定义每个函数的名称 通篇都是类型 ,类型导出也是犯愁

插件申明文件中 export type和export type 对外都不可见,尝试用 export class (本不应该用class,这里没有具体实现)
结果 编译运行开始报错平台实现没找到导出的类型
然后在接口声明一个 接口 去平台目录实现 好家伙接口中要返回的类型必须 改成接口里面声明的接口 外面又看不到接口中导出的 interface
只能用typ 导出 t ype导出了 实现的时候需要一个class 去实现返回封装 好家伙类型又报错

interface.uts

export/open/public/   interface  IResult {  
        x:number  
        y:number;  
       close():void   
}  

  export interface IPlugins {      

    a():void   
    b():Promise<IResult>  

  }   

web/index.uts

class IResultWebImpl  implements IResult  {  
     //     
}  

PluginsWebImpl implements IPlugins  {  

  //...   
}

// page/index.uts;

import * as P from  '@/uni_modules/xx'  

P.b().then(r:P.IResult ) {  
        // .....  
}  

外部使用的始终是 接口定义的不关心实现 这种模式很难实现吗?

简化一下

interface.uts

export/open/public/   interface  IResult {  
        x:number  
        y:number;  
       close():void   
}  

//  export interface IPlugins {     省略掉  

 export  function a ():void   
  export  function b ():Promise<IResult>  

//  }   

或者使用 internal open public protected declare 等等标记 一下 应该不是多难得事情
面向接口而非实现 不是首要遵守的吗 为什么那么折腾

收起阅读 »

uniappX 需求强已经出现 微信登录、分享、打开微信小程序需求,大家可以投票,顶起来,官方的插件才是靠谱的选择

微信登录 微信小程序 微信分享 uni-appx

uniappX 需求强已经出现 微信登录、分享、打开微信小程序需求,大家可以投票,顶起来,官方的插件才是靠谱的选择

地址: https://vote.dcloud.net.cn/#/?name=uni-app%20x

我只认可官方插件,顶起来

uniappX 需求强已经出现 微信登录、分享、打开微信小程序需求,大家可以投票,顶起来,官方的插件才是靠谱的选择

地址: https://vote.dcloud.net.cn/#/?name=uni-app%20x

我只认可官方插件,顶起来

uni-app 能否搞一套声明式UI呢,声明式UI是趋势呢,能极大的提高开发效率呢

鸿蒙的开发思路就是: 声明式UI + TS 这种模式用着很舒服呢

鸿蒙的开发思路就是: 声明式UI + TS 这种模式用着很舒服呢