1***@qq.com
1***@qq.com
  • 发布:2026-08-07 15:55
  • 更新:2026-08-07 15:58
  • 阅读:23

使用uni.createRequestPermissionListener() 提示以下错误

分类:uni-app

callModuleMethod >>> invoke module:UTS-Proxy, method:invokeSync failed. java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.taobao.weex.bridge.MethodInvoker.invoke(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:1)
at com.taobao.weex.bridge.NativeInvokeHelper.invoke(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:40)
at com.taobao.weex.bridge.WXModuleManager.dispatchCallModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:2)
at com.taobao.weex.bridge.WXModuleManager.callModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:25)
at com.taobao.weex.bridge.WXBridgeManager.callModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:27)
at com.taobao.weex.bridge.WXBridgeManager.callNativeModule(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:59)
at com.taobao.weex.bridge.WXBridge.callNativeModule(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:40)
at com.taobao.weex.base.SystemMessageHandler.nativeRunWork(Native Method)
at com.taobao.weex.base.SystemMessageHandler.handleMessage(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:1)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:211)
at android.os.Looper.loop(Looper.java:300)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/coroutines/jvm/internal/SpillingKt;
at io.dcloud.feature.utsplugin.ProxyModule$invokeSync$3$2.invokeSuspend(UTSProxyModule.kt:1001)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt
BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at io.dcloud.feature.utsplugin.ProxyModule.invokeSync(UTSProxyModule.kt:990)
at java.lang.reflect.Method.invoke(Native Method) 
at com.taobao.weex.bridge.MethodInvoker.invoke(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:1) 
at com.taobao.weex.bridge.NativeInvokeHelper.invoke(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:40) 
at com.taobao.weex.bridge.WXModuleManager.dispatchCallModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:2) 
at com.taobao.weex.bridge.WXModuleManager.callModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:25) 
at com.taobao.weex.bridge.WXBridgeManager.callModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:27) 
at com.taobao.weex.bridge.WXBridgeManager.callNativeModule(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:59) 
at com.taobao.weex.bridge.WXBridge.callNativeModule(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:40) 
at com.taobao.weex.base.SystemMessageHandler.nativeRunWork(Native Method) 
at com.taobao.weex.base.SystemMessageHandler.handleMessage(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:1) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loopOnce(Looper.java:211) 
at android.os.Looper.loop(Looper.java:300) 
at android.os.HandlerThread.run(HandlerThread.java:67) 
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.coroutines.jvm.internal.SpillingKt" on path: DexPathList[[zip file "/data/app/9UI64YoE-eqU-dOirUL3KQ==/com.huiquan.pandax.overseas-lmhHy05XB8S-n8wc5SgOpQ==/base.apk"],nativeLibraryDirectories=[/data/app/9UI64YoE-eqU-dOirUL3KQ==/com.huiquan.pandax.overseas-lmhHy05XB8S-n8wc5SgOpQ==/lib/arm64, /data/app/~~9UI64YoE-eqU-dOirUL3KQ==/com.huiquan.pandax.overseas-lmhHy05XB8S-n8wc5SgOpQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at io.dcloud.feature.utsplugin.ProxyModule$invokeSync$3$2.invokeSuspend(UTSProxyModule.kt:1001) 
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) 
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280) 
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) 
at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking(Builders.kt:59) 
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1) 
at kotlinx.coroutines.BuildersKt
BuildersKt.runBlocking$default(Builders.kt:38) 
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1) 
at io.dcloud.feature.utsplugin.ProxyModule.invokeSync(UTSProxyModule.kt:990) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.taobao.weex.bridge.MethodInvoker.invoke(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:1) 
at com.taobao.weex.bridge.NativeInvokeHelper.invoke(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:40) 
at com.taobao.weex.bridge.WXModuleManager.dispatchCallModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:2) 
at com.taobao.weex.bridge.WXModuleManager.callModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:25) 
at com.taobao.weex.bridge.WXBridgeManager.callModuleMethod(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:27) 
at com.taobao.weex.bridge.WXBridgeManager.callNativeModule(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:59) 
at com.taobao.weex.bridge.WXBridge.callNativeModule(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:40) 
at com.taobao.weex.base.SystemMessageHandler.nativeRunWork(Native Method) 
at com.taobao.weex.base.SystemMessageHandler.handleMessage(r8-map-id-8c2cfb1903e4c438e50e725a9caf630fe5e3f409ce4448463e9f9d02c32f38ea:1) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loopOnce(Looper.java:211) 
at android.os.Looper.loop(Looper.java:300) 
at android.os.HandlerThread.run(HandlerThread.java:67) 

2026-08-07 15:55 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

根据您提供的错误日志,这是一个典型的 Kotlin 协程依赖缺失 导致的 NoClassDefFoundError 问题。错误发生在 UTS-Proxy 模块调用过程中,根本原因是应用运行时找不到 kotlin.coroutines.jvm.internal.SpillingKt 类。

问题分析

从堆栈信息来看:

  1. 直接原因java.lang.ClassNotFoundException: kotlin.coroutines.jvm.internal.SpillingKt
  2. 触发点io.dcloud.feature.utsplugin.ProxyModule.invokeSync 方法在执行协程相关操作时失败
  3. 影响范围:所有使用 UTS 插件且涉及协程操作的功能

解决方案

方案一:添加完整的 Kotlin 协程依赖(推荐)

在您的 App 模块的 build.gradle 文件中,确保添加了以下依赖:

dependencies {  
    // Kotlin 标准库  
    implementation "org.jetbrains.kotlin:kotlin-stdlib:2.2.0"  
    implementation "org.jetbrains.kotlin:kotlin-reflect:2.2.0"  

    // Kotlin 协程核心库  
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1"  
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1"  

    // 其他必要依赖  
    implementation "com.squareup.okhttp3:okhttp:3.12.12"  
    implementation "androidx.core:core-ktx:1.6.0"  
    implementation "com.github.getActivity:XXPermissions:18.63"  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

方案二:检查 UTS 插件配置

如果您使用的是 UTS 插件,请确保:

  1. 插件的 utssdk 目录结构完整,特别是 app-android 目录下的配置文件
  2. 在插件的 config.gradlebuild.gradle 中正确声明了协程依赖
  3. 重新编译插件:删除 unpackage 目录后重新运行

方案三:清理并重建项目

# 1. 清理项目  
./gradlew clean  

# 2. 删除构建缓存  
rm -rf .gradle  
rm -rf app/build  
rm -rf unpackage  

# 3. 重新同步依赖  
./gradlew --refresh-dependencies  

# 4. 重新编译运行

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

方案四:检查 ProGuard/R8 混淆配置

如果您启用了代码混淆,请在 proguard-rules.pro 中添加:

# Kotlin 协程保留规则  
-keepclassmembers class kotlinx.** {  
    volatile <fields>;  
}  
-keepnames class kotlinx.** { *; }  
-dontwarn kotlinx.**  
-dontnote kotlinx.**  

# Kotlin 标准库保留规则  
-keep class kotlin.** { *; }  
-keepclassmembers class kotlin.** { *; }  
-dontwarn kotlin.**

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

验证步骤

  1. 检查依赖是否生效

    ./gradlew app:dependencies | grep kotlinx-coroutines  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

  2. 查看 APK 中的类
    使用 APK Analyzer 检查 kotlin/coroutines/jvm/internal/SpillingKt 是否存在于最终的 APK 中

  3. 运行时验证
    在应用启动时添加日志,确认协程库已正确加载

注意事项

  • 版本一致性:确保 kotlinx-coroutines-corekotlinx-coroutines-android 版本一致
  • HBuilderX 版本:建议使用 HBuilderX 4.71+ 版本,该版本对 UTS 插件的依赖管理有更好的支持
  • 云端打包:如果使用云端打包,请确保 manifest.json 中的 app-android 配置正确

相关文档

如果以上方案仍无法解决问题,建议:

  1. 提供完整的 build.gradle 配置文件
  2. 说明使用的 HBuilderX 具体版本号
  3. 提供 UTS 插件的 package.jsonconfig.gradle 配置

这样我可以为您提供更精准的解决方案。

内容为 AI 生成,仅供参考

要回复问题请先登录注册