uni-app 安卓离线打包运行白屏,错误日志

uni-app 安卓离线打包运行白屏,错误日志

开发环境 版本号 项目创建方式
Windows 10 HBuilderX

操作步骤:

java.lang.UnsatisfiedLinkError: 
    at io.dcloud.common.cs.DA.arn(Native Method)  
    at io.dcloud.common.cs.DA.ar(DA.java:50)  
    at io.dcloud.feature.ad.dcloud.ADHandler.pull(SourceFile:21)  
    at io.dcloud.feature.ad.dcloud.AdFeatureImpl.doForFeature(SourceFile:62)  
    at io.dcloud.feature.ad.AdFeatureImplMgr.doForFeature(SourceFile:6)  
    at io.dcloud.a.a(SourceFile:13)  
    at io.dcloud.b.checkAndRequestStoragePermission(SourceFile:27)  
    at io.dcloud.WebAppActivity.checkAndRequestStoragePermission(SourceFile:1)  
    at io.dcloud.b$f.onClick(SourceFile:1)  
    at io.dcloud.common.ui.a$d$j.onClick(SourceFile:9)  
    at android.view.View.performClick(View.java:7448)  
    at android.view.View.performClickInternal(View.java:7425)  
    at android.view.View.access$3600(View.java:810)  
    at android.view.View$PerformClick.run(View.java:28309)  
    at android.os.Handler.handleCallback(Handler.java:938)  
    at android.os.Handler.dispatchMessage(Handler.java:99)  
    at android.os.Looper.loop(Looper.java:223)  
    at android.app.ActivityThread.main(ActivityThread.java:7697)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)

预期结果:

正常运行

实际结果:

java.lang.UnsatisfiedLinkError: 
    at io.dcloud.common.cs.DA.arn(Native Method)  
    at io.dcloud.common.cs.DA.ar(DA.java:50)  
    at io.dcloud.feature.ad.dcloud.ADHandler.pull(SourceFile:21)  
    at io.dcloud.feature.ad.dcloud.AdFeatureImpl.doForFeature(SourceFile:62)  
    at io.dcloud.feature.ad.AdFeatureImplMgr.doForFeature(SourceFile:6)  
    at io.dcloud.a.a(SourceFile:13)  
    at io.dcloud.b.checkAndRequestStoragePermission(SourceFile:27)  
    at io.dcloud.WebAppActivity.checkAndRequestStoragePermission(SourceFile:1)  
    at io.dcloud.b$f.onClick(SourceFile:1)  
    at io.dcloud.common.ui.a$d$j.onClick(SourceFile:9)  
    at android.view.View.performClick(View.java:7448)  
    at android.view.View.performClickInternal(View.java:7425)  
    at android.view.View.access$3600(View.java:810)  
    at android.view.View$PerformClick.run(View.java:28309)  
    at android.os.Handler.handleCallback(Handler.java:938)  
    at android.os.Handler.dispatchMessage(Handler.java:99)  
    at android.os.Looper.loop(Looper.java:223)  
    at android.app.ActivityThread.main(ActivityThread.java:7697)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)

bug描述:

安卓离线打包3.2.3.81011_20210826 的 SDK,页面是HbuilderX3.2.3,一般闪退或者页面运行白屏后不停的提示错误如下:

java.lang.UnsatisfiedLinkError: No implementation found for void io.dcloud.common.cs.DA.arn(java.lang.String, java.lang.Object) (tried Java_io_dcloud_common_cs_DA_arn and Java_io_dcloud_common_cs_DA_arn__Ljava_lang_String_2Ljava_lang_Object_2)
at io.dcloud.common.cs.DA.arn(Native Method)
at io.dcloud.common.cs.DA.ar(DA.java:50)
at io.dcloud.feature.ad.dcloud.ADHandler.pull(SourceFile:21)
at io.dcloud.feature.ad.dcloud.AdFeatureImpl.doForFeature(SourceFile:62)
at io.dcloud.feature.ad.AdFeatureImplMgr.doForFeature(SourceFile:6)
at io.dcloud.a.a(SourceFile:13)
at io.dcloud.b.checkAndRequestStoragePermission(SourceFile:27)
at io.dcloud.WebAppActivity.checkAndRequestStoragePermission(SourceFile:1)
at io.dcloud.b$f.onClick(SourceFile:1)
at io.dcloud.common.ui.a$d$j.onClick(SourceFile:9)
at android.view.View.performClick(View.java:7448)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28309)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7697)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)

当时搜贴 看到说这个问题,3.1.2已经修改好了,但是现在新版本重现问题。麻烦管理员看到后及时帮忙解答疑问,谢谢!

更多关于uni-app 安卓离线打包运行白屏,错误日志的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

你好,问题解决了吗,怎么解决的

更多关于uni-app 安卓离线打包运行白屏,错误日志的实战教程也可以访问 https://www.itying.com/category-93-b0.html


更新最新离线SDK看看

HbuilderX升级到最新的3.3.11,sdk也升级到最新的3.3.11,用的Android离线打包方式运行的,运行后先白屏,然后闪退。错误日志如下:

java.lang.UnsatisfiedLinkError: No implementation found for void io.dcloud.common.cs.DA.arn(java.lang.String, java.lang.Object) (tried Java_io_dcloud_common_cs_DA_arn and Java_io_dcloud_common_cs_DA_arn__Ljava_lang_String_2Ljava_lang_Object_2)
sdk Android-SDK@3.5.0.81384_20220624
离线打包apks 报错

这个问题有解决吗 ?

根据错误日志分析,这是典型的 UniApp 离线打包时原生库加载失败 问题。

核心原因是:SDK 版本与原生库不匹配

具体分析:

  1. 错误 java.lang.UnsatisfiedLinkError: No implementation found for void io.dcloud.common.cs.DA.arn(...) 表明 JNI 层找不到对应的原生方法实现。
  2. 从堆栈看,触发点在广告模块初始化时,但根本原因是基础库加载异常。

解决方案:

1. 检查 SDK 完整性 确保离线打包使用的 SDK 版本(3.2.3.81011)与 HBuilderX 版本(3.2.3)完全一致。到官方下载页面重新下载对应版本的 SDK,替换项目中的以下目录:

  • libs\(包含 .jar 和 .so 文件)
  • assets\apps\(应用资源)

2. 核对 CPU 架构 确认 libs 目录下包含完整的原生库(.so 文件),通常需要:

  • armeabi-v7a\
  • arm64-v8a\
  • x86\(模拟器需要) 检查是否有缺失,特别是 libio_dcloud_common_cs.so 相关文件。

3. 清理构建缓存

  • 删除 Android 项目中的 build 目录
  • 在 Android Studio 中执行 Build > Clean Project
  • 重新生成签名 APK

4. 检查权限配置AndroidManifest.xml 中确保已添加存储权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
回到顶部