uni-app android.app.ServiceConnectionLeaked Bug

uni-app android.app.ServiceConnectionLeaked Bug

操作步骤:

1、安装app到平板 2、点击home键,多次点击之后就报错了

预期结果:

点击home键不会报错,app可以正常运行

实际结果:

E/ActivityThread: Activity io.dcloud.PandoraEntryActivity has leaked ServiceConnection com.bun.miitmdid.provider.zte.MsaClient$1@18b6ec6 that was originally bound here  
    android.app.ServiceConnectionLeaked: Activity io.dcloud.PandoraEntryActivity has leaked ServiceConnection com.bun.miitmdid.provider.zte.MsaClient$1@18b6ec6 that was originally bound here  
        at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1825)  
        at android.app.LoadedApk.getServiceDispatcherCommon(LoadedApk.java:1697)  
        at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1676)  
        at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1721)  
        at android.app.ContextImpl.bindService(ContextImpl.java:1650)  
        at android.content.ContextWrapper.bindService(ContextWrapper.java:705)  
        at com.netease.nis.sdkwrapper.Utils.rL(Native Method)  
        at com.bun.miitmdid.provider.zte.MsaClient.BindService(Unknown Source:30)  
        at com.netease.nis.sdkwrapper.Utils.rL(Native Method)  
        at com.bun.miitmdid.provider.zte.ZteProvider.doStart(Unknown Source:27)  
        at com.bun.miitmdid.provider.BaseProvider$1.run(Unknown Source:2)  
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  
        at java.lang.Thread.run(Thread.java:919)

bug描述:

使用的是官方最新的HBuilder-Integrate-AS,根据官方配置了信息,可以正常打包,公司需求是要打包平板的LAUNCHER应用,打包后也可以正常运行,但是点HOME键后就报错了

错误如下:

E/ActivityThread: Activity io.dcloud.PandoraEntryActivity has leaked ServiceConnection com.bun.miitmdid.provider.zte.MsaClient$1@18b6ec6 that was originally bound here  
    android.app.ServiceConnectionLeaked: Activity io.dcloud.PandoraEntryActivity has leaked ServiceConnection com.bun.miitmdid.provider.zte.MsaClient$1@18b6ec6 that was originally bound here  
        at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1825)  
        at android.app.LoadedApk.getServiceDispatcherCommon(LoadedApk.java:1697)  
        at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1676)  
        at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1721)  
        at android.app.ContextImpl.bindService(ContextImpl.java:1650)  
        at android.content.ContextWrapper.bindService(ContextWrapper.java:705)  
        at com.netease.nis.sdkwrapper.Utils.rL(Native Method)  
        at com.bun.miitmdid.provider.zte.MsaClient.BindService(Unknown Source:30)  
        at com.netease.nis.sdkwrapper.Utils.rL(Native Method)  
        at com.bun.miitmdid.provider.zte.ZteProvider.doStart(Unknown Source:27)  
        at com.bun.miitmdid.provider.BaseProvider$1.run(Unknown Source:2)  
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  
        at java.lang.Thread.run(Thread.java:919)  

报错后一直停在启动图片splash.png页面


更多关于uni-app android.app.ServiceConnectionLeaked Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

请问解决了吗

更多关于uni-app android.app.ServiceConnectionLeaked Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html


同问!我在android q 上按返回键也报这个错

我的是android系统启动,app自启动成功,手动退出后,再次打开会导致app白屏

请问老哥解决了吗?我也遇到了这个问题

回复 5***@qq.com: 我强制清除进程处理

官方不打算解决这个问题吗?

请问解决了吗

快25年了,解决了吗…

这个错误是Android系统检测到的Service连接泄露问题。从堆栈信息看,问题出现在com.bun.miitmdid.provider.zte.MsaClient这个第三方SDK(移动安全联盟的OAID获取SDK)中。

问题分析:

  1. 根本原因:应用在获取设备OAID时绑定了Service,但在Activity销毁时没有正确解绑Service连接
  2. 触发场景:点击Home键导致Activity进入后台,系统期望清理资源,但发现Service连接仍然被持有
  3. 影响:导致应用停留在启动页,无法正常进入主界面

解决方案:

方案一:更新uni-app原生插件 检查项目中是否使用了uni-getOAID或相关OAID获取插件,更新到最新版本。DCloud官方插件市场中的OAID插件已经修复了此问题。

方案二:修改原生配置AndroidManifest.xml中为启动Activity添加以下配置:

<activity
    android:name="io.dcloud.PandoraEntryActivity"
    android:launchMode="singleTask"
    android:configChanges="orientation|keyboardHidden|keyboard|navigation"
    android:hardwareAccelerated="true"
    android:screenOrientation="user"
    android:windowSoftInputMode="adjustResize">
    <!-- 添加以下intent-filter -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

方案三:检查第三方SDK集成 如果是通过HBuilder-Integrate-AS集成,确保:

  1. 使用的OAID SDK版本不低于2.0.0
  2. build.gradle中正确配置依赖:
dependencies {
    implementation 'com.github.gzu-liyujiang:Android_CN_OAID:4.2.7'
}
回到顶部