uni-app原生插件报错,之前还能运行最近报错了导致app闪退

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app原生插件报错,之前还能运行最近报错了导致app闪退

错误信息

BOARD:HWI
BOOTLOADER:unknown
BRAND:HUAWEI
CPU_ABI:armeabi-v7a
CPU_ABI2:armeabi
DEVICE:HWHWI
DISPLAY:HWI-AL00 9.1.0.219(C00E112R2P9)
FINGERPRINT:HUAWEI/HWI-AL00/HWHWI:9/HUAWEIHWI-AL00/9.1.0.219C00:user/release-keys
FINGERPRINTEX:HUAWEI/HWI-AL00/HWHWI:9/HUAWEIHWI-AL00/9.1.0.226C00:user/release-keys
HARDWARE:hi3660
HIDE_PRODUCT_INFO:false
HOST:cn-west-3b-5262123f01590652587706-68c745f7f7-wtcvv
HWFINGERPRINT:///HWI-LGRP1-CHN 9.1.0.226/HWI-AL00-CUST 9.1.0.115(C00)/HWI-AL00-PRELOAD 9.1.0.11(C00R2)//
ID:HUAWEIHWI-AL00
IS_DEBUGGABLE:false
IS_EMULATOR:false
MANUFACTURER:HUAWEI
MODEL:HWI-AL00
NO_HOTA:false
PERMISSIONS_REVIEW_REQUIRED:false
PRODUCT:HWI-AL00
RADIO:unknown
SERIAL:unknown
SUPPORTED_32_BIT_ABIS:[Ljava.lang.String;@c12fa63
SUPPORTED_64_BIT_ABIS:[Ljava.lang.String;@7f0f660
SUPPORTED_ABIS:[Ljava.lang.String;@aea5719
TAGS:release-keys
TIME:1590654465000
TYPE:user
UNKNOWN:unknown
USER:test
matchers:[Ljava.lang.String;@2a6e3de
replacements:[Ljava.lang.String;@630d9bf
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/impl/cookie/BasicClientCookie;
at com.sangfor.ssl.service.utils.network.HttpConnect.setCookie(HttpConnect.java:251)
at com.sangfor.ssl.l3vpn.service.L3vpnController.initVpnConf(L3vpnController.java:118)
at com.sangfor.ssl.l3vpn.service.L3vpnController.initL3VPNService(L3vpnController.java:79)
at com.sangfor.ssl.easyapp.SangforAuthForward.dealWithL3vpn(SangforAuthForward.java:528)
at com.sangfor.ssl.easyapp.SangforAuthForward.vpnCallback(SangforAuthForward.java:452)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.impl.cookie.BasicClientCookie" on path: DexPathList[[dex file "InMemoryDexFile[cookie=[0, 3775115840]]", zip file "/data/app/com.example.waterapp-QYpiUfW1bICVPs6DbPFNxQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.waterapp-QYpiUfW1bICVPs6DbPFNxQ==/lib/arm, /data/app/com.example.waterapp-QYpiUfW1bICVPs6DbPFNxQ==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 5 more  

日志文件


3 回复

公司承接项目外包开发、双端(Android,iOS)原生插件开发。
为什么选择我们: 1、1000 项目开发积累,数百种商业模式开发经验,更懂您的需求,沟通无障碍。 2、一年免费技术保障,系统故障或被攻击,2小时快速响应提供解决方案落地。 3、软件开发源码定制工厂,去中间商降低成本,提高软件开发需求沟通效率。 4、纯原生开发,拒绝模板和封装系统,随时更新迭代,增加功能,无需重做系统。 5、APP定制包办软件著作权申请,30天内保证拿到软著证书,知识产权受保护。 6、中软云科技导入严谨的项目管理系统,确保项目准时交付,快速抢占市场商机。 7、软件开发费、维护费、第三方各种费用公开透明,不花冤枉钱,不玩套路。
已有大量双端插件、App、小程序、公众号、PC、移动端、游戏等案例。
行业开发经验:银行、医疗、直播、电商、教育、旅游、餐饮、分销、微商、物联网、零售等
商务QQ:1559653449 商务微信:fan-rising
7x24小时在线,欢迎咨询了解


有需求加微 xyange_ 专职uniapp五年

针对你提到的uni-app原生插件报错导致APP闪退的问题,这里提供一些可能的解决方案和代码示例,帮助你定位和解决问题。由于无法直接获取具体的错误信息和代码,我将提供一些常见的排查步骤和修复方法。

1. 检查原生插件的兼容性和更新

首先,确保你使用的原生插件与当前的uni-app版本兼容。有时候,插件可能还未适配最新的uni-app版本,导致运行出错。

# 查看当前uni-app版本
uni -v

# 查看原生插件的文档,确认支持的uni-app版本

如果插件版本过旧,尝试更新到最新版本:

# 假设插件通过npm管理
npm update [插件名]

2. 查看日志和错误信息

APP闪退时,系统通常会生成崩溃日志。通过查看这些日志,可以获取更详细的错误信息。

  • 对于iOS,使用Xcode查看Device Logs。
  • 对于Android,使用Logcat查看日志。

3. 检查原生代码实现

如果错误日志指向某个具体的原生代码文件或方法,检查这些代码是否有潜在的内存泄漏、空指针引用等问题。

例如,假设你的原生插件中有一个可能导致空指针引用的方法:

// 错误的Java代码示例
public void someMethod() {
    String text = null;
    text.length(); // 这里会抛出NullPointerException
}

应修改为:

// 修正后的Java代码示例
public void someMethod() {
    String text = null;
    if (text != null) {
        text.length();
    }
}

4. 清理和重建项目

有时候,简单的清理和重建项目可以解决一些莫名其妙的问题。

# 清理项目
npm run clean

# 重建项目
npm run build

5. 使用try-catch捕获异常

在原生插件的关键代码段使用try-catch结构捕获异常,避免程序因为一个未捕获的异常而崩溃。

try {
    // 可能抛出异常的代码
} catch (Exception e) {
    // 处理异常,比如记录日志
    e.printStackTrace();
}

总结

由于无法直接获取具体的错误信息和代码,以上提供的是一些通用的排查步骤和修复方法。如果问题依旧存在,建议详细查看错误日志,并根据日志中的具体错误信息进一步定位问题。同时,也可以考虑在uni-app社区或者原生插件的官方仓库寻求帮助。

回到顶部