uni-app离线打包报错 APP随机闪退

uni-app离线打包报错 APP随机闪退

开发环境 版本号 项目创建方式
uniapp/App - HBuilderX

运行就报错

预期结果: 不报错

实际结果: 报错

bug描述:

W/System.err: java.lang.NoSuchFieldException: No field mHiddenApiWarningShown in class Landroid/app/ActivityThread; (declaration of 'android.app.ActivityThread' appears in /system/framework/framework.jar)
W/System.err:     at java.lang.Class.getDeclaredField(Native Method)
W/System.err:     at io.dcloud.common.util.PdrUtil.closeAndroidPDialog(PdrUtil.java:1214)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
E/platform: ClassNotFoundException io.dcloud.feature.x5.X5InitImpl init
E/platform: ClassNotFoundException io.dcloud.feature.weex.WeexDevtoolImpl registerReloadReceiver
E/platform: ClassNotFoundException io.dcloud.feature.weex.WeexDevtoolImpl initDebugEnvironment

更多关于uni-app离线打包报错 APP随机闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

有人解答吗?

更多关于uni-app离线打包报错 APP随机闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html


前端用了x5,然后没有导入响应的包 你应该把你导入的包截图出来看看

这个错误主要是由于Android P(9.0)及以上版本对反射API的限制导致的,以及X5内核和Weex调试模块未正确集成的问题。以下是解决方案:

  1. 针对反射API限制问题: 在AndroidManifest.xml的application标签中添加:
<application
    android:usesCleartextTraffic="true"
    tools:ignore="GoogleAppIndexingWarning">
    <meta-data
        android:name="android.max_aspect"
        android:value="2.1" />
    <meta-data
        android:name="android.min_supported_aspect_ratio"
        android:value="2.1" />
</application>
  1. 针对X5内核问题: 确保在assets/data/dcloud_control.xml中配置了X5内核:
<web-view>
    <x5 kernel="true"/>
</web-view>
回到顶部