uni-app android多次运行后,无法打开小程序

uni-app android多次运行后,无法打开小程序

开发环境 版本号 项目创建方式
Android Studio - 官方demo

产品分类:uni小程序SDK
手机系统:Android
手机系统版本号:Android 13
手机厂商:小米
手机机型:Redmi Note 11
页面类型:vue
SDK版本号:4.0.8
App下载地址或H5网址:https://nativesupport.dcloud.net.cn/UniMPDocs/SDKDownload/android.html

示例代码:

Button button2 = findViewById(R.id.button2);  

button2.setOnClickListener(new View.OnClickListener() {  
    @Override  
    public void onClick(View view) {  
        try {  
            IUniMP uniMP = DCUniMPSDK.getInstance().openUniMP(mContext,"__UNI__F743940");  
            mUniMPCaches.put(uniMP.getAppid(), uniMP);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
});

操作步骤:

  • Android studio 运行官方的demo;
  • 重复执行《Run APP》

预期结果:

  • 每次点击就能打开小程序

实际结果:

  • 多次运行后,无法打开,或需要等待一段时间后再次点击才能打开;看不到异常信息,也无提示

bug描述:

IUniMP uniMP = DCUniMPSDK.getInstance().openUniMP(mContext,“UNI_B61D13B”, uniMPOpenConfiguration);
多次运行后 打开无响应,需要等待一段时间后再次点击才能打开;
使用的官方的demo;多次运行后无法打开。


更多关于uni-app android多次运行后,无法打开小程序的实战教程也可以访问 https://www.itying.com/category-93-b0.html

24 回复

你是在android studio 直接运行的吧。 如果出现打不开,尝试clean 一下 清一下缓存试试

更多关于uni-app android多次运行后,无法打开小程序的实战教程也可以访问 https://www.itying.com/category-93-b0.html


是在Android studio上运行的,清理Android Studio的缓存没意义。uni的sdk没提供clean和清缓存。 问题描述:运行在手机上的,不断的打开小程序在关掉进程。重复几次,就点不动打不开了;(用的是官方的demo)

回复 oko: 我的意思是说,这是 android studio 部分情况下才会出现的问题。 打包正式的apk 不会有这个问题

回复 DCloud_Android_DQQ: 打了release包,然后再升级应用重新安装apk。一样点了没反应

这个问题clean 也没有用,不仅仅是在开发中 ,Android上 debug 和release包 都会出现,希望官方重视下能尽快解决,,现在已经是我这边线上bug,我们Android的绩效都被扣完了,快点解决,我给你充200话费

有解决?我也碰到了,完全不报错,要结束进程重新进又对了

每人看

每日刷新

官方demo如此

我这边拿官方demo 在 google pixel4a 正式包没有复现问题,发一下可以复现的问题的机型和复现视频

巨佬有看下吗

红米Note11
Android 13
重现视频(附件)test

你使用最新的官方demo 复现的嘛, 换个手机能复现问题嘛

回复 DCloud_Android_DQQ: 只用的最新的4.15版本,用另外台小米也是容易复现,其他手机没怎么复现;是不是有什么资源没回收。

回复 DCloud_Android_DQQ: 这个问题能确认吗。公司马上上市推广使用用户体系会比较大,付费也不是问题的

回复 oko: 我这边没有红米 note 11. 你那边有问题的小米设备具体型号是什么。如果有其他可以复现问题的设备也一并列一下。我这边尝试找设备复现问题

回复 oko: 加你QQ了。

回复 DCloud_Android_DQQ: 上面这个问题有结果了?偶现打不开,打断点看所有方法都走了,也没报错,就是打不开uniapp,必须结束程序重新进才行

你好,你这个问题有解决了嘛。。。我的红米手机note11pro也出现这样的情况

提供可以复现问题的最简示例 或者 尝试在官方demo上复现此问题

在 uni-app 开发中,如果你在 Android 设备上多次运行后,小程序无法打开,可能是由于以下原因导致的。以下是一些常见的排查和解决方法:


1. 缓存问题

多次运行后,HBuilderX 或 Android 设备可能会缓存旧的数据或资源,导致小程序无法正常打开。

解决方法:

  • 清除 HBuilderX 的缓存:
    1. 关闭 HBuilderX。
    2. 删除项目目录下的 .hbuilderx 文件夹。
    3. 重新打开 HBuilderX 并运行项目。
  • 在 Android 设备上清除小程序缓存:
    1. 进入设备的“设置” > “应用管理”。
    2. 找到并点击你的 uni-app 应用。
    3. 选择“存储” > “清除缓存”和“清除数据”。

2. 资源文件未更新

如果项目中修改了某些文件(如 manifest.json 或页面文件),但未正确同步到 Android 设备,可能导致小程序无法正常运行。

解决方法:

  • 在 HBuilderX 中,确保所有修改已保存。
  • 重新编译并运行项目:
    1. 点击 HBuilderX 工具栏中的“运行” > “运行到手机或模拟器” > “Android”。
    2. 确保设备已连接,并选择正确的设备。
  • 如果问题依然存在,尝试删除项目中的 unpackage 文件夹,然后重新编译。

3. Android 版本兼容性问题

某些 Android 设备或系统版本可能存在兼容性问题,导致小程序无法正常运行。

解决方法:

  • 确保你的 uni-app 项目支持目标 Android 版本。
  • manifest.json 中检查 minSdkVersiontargetSdkVersion 配置:
    "app-plus": {
      "android": {
        "minSdkVersion": 19,
        "targetSdkVersion": 30
      }
    }
    
  • 如果目标设备是 Android 10 或更高版本,请确保适配了新的存储权限(Scoped Storage)。

4. 插件或依赖问题

如果项目中使用了第三方插件或依赖库,可能存在版本冲突或不兼容的问题。

解决方法:

  • 检查项目中使用的插件是否与当前 uni-app 版本兼容。
  • 更新插件到最新版本:
    1. 打开项目的 package.json 文件。
    2. 更新插件版本,然后运行 npm install
  • 如果问题依然存在,尝试移除可疑的插件或依赖,逐步排查问题。

5. HBuilderX 版本问题

HBuilderX 的某些版本可能存在 Bug,导致 Android 设备无法正常运行小程序。

解决方法:

  • 更新 HBuilderX 到最新版本:
    1. 打开 HBuilderX。
    2. 点击“帮助” > “检查更新”。
    3. 按照提示下载并安装最新版本。
  • 如果更新后问题依然存在,可以尝试回退到之前的稳定版本。

6. 调试模式问题

在调试模式下,某些代码或配置可能导致应用崩溃或无法启动。

解决方法:

  • 尝试在发布模式下运行项目:
    1. 点击 HBuilderX 工具栏中的“发行” > “原生 App-云打包”。
    2. 打包完成后,将生成的 APK 文件安装到 Android 设备上。
  • 如果发布模式可以正常运行,则可能是调试模式下的代码或配置问题。

7. 设备问题

某些 Android 设备可能存在硬件或系统问题,导致应用无法正常运行。

解决方法:

  • 尝试在其他 Android 设备上运行项目,确认是否为设备问题。
  • 如果问题仅出现在特定设备上,可以尝试重置设备或更新系统。

8. 日志分析

如果以上方法均无效,可以通过日志分析具体问题。

解决方法:

  • 在 HBuilderX 中打开“控制台”面板,查看运行时的日志信息。
  • 在 Android 设备上使用 adb logcat 命令查看应用日志:
    1. 连接设备并确保已启用 USB 调试。
    2. 打开终端或命令提示符,运行以下命令:
      adb logcat | grep "YourAppPackageName"
回到顶部