升级Android应用程序时报告ClassNotFoundException错误

2023-11-23

我看过很多关于 ClassNotFoundException 和 Android 的帖子,但我还没有找到我所经历的原因。

我有一个应用程序 -数据计数器小部件- 在 Android 市场上。它的下载量超过 25 万次,每次我发布新版本时,我都会在 Android Market 的开发者控制台上收到一些 (1-5) 个关于 ClassNotFoundException 的错误报告。

29 份报告来自未指定的(“其他”)设备,其中 2 份报告来自 Nexus One。有两条用户消息:“启动时崩溃”和“更新安装期间”。

所有报告都是关于我的接收器(扩展 BroadcastReceiver)。其中一个接收器被触发的频率相对较高,因为它启动读取和存储 Android 设备数据使用情况的服务。我有这样的感觉,可能是为接收器设置了警报(使用 AlarmManager),然后用户/设备升级了应用程序,但找不到该类 - 要么因为它位于不同的物理包中,要么因为它发生在设备进行交换的那一刻。可能是这样吗?如果是这样,有什么办法可以解决吗?否则我无法理解为什么几乎所有报告(比如 90%)都会在新版本发布后的同一天或接下来的几天内出现。

我的一个接收器的堆栈跟踪(其他接收器给出了除类名之外的相同堆栈跟踪):

java.lang.RuntimeException: Unable to instantiate receiver com.roysolberg.android.datacounter.receivers.CounterReceiver: java.lang.ClassNotFoundException: com.roysolberg.android.datacounter.receivers.CounterReceiver in loader dalvik.system.PathClassLoader[/data/app/com.roysolberg.android.datacounter-1.apk]
 at android.app.ActivityThread.handleReceiver(ActivityThread.java:2789)
 at android.app.ActivityThread.access$3200(ActivityThread.java:125)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at android.os.Looper.loop(Looper.java:123)
 at android.app.ActivityThread.main(ActivityThread.java:4627)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:521)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
 at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.roysolberg.android.datacounter.receivers.CounterReceiver in loader dalvik.system.PathClassLoader[/data/app/com.roysolberg.android.datacounter-1.apk]
 at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
 at android.app.ActivityThread.handleReceiver(ActivityThread.java:2780)
 ... 10 more

经过一年左右的更新我的应用程序后,我现在了解了这个问题,但似乎没有解决方案:

我的应用程序(取决于用户设置)使用警报管理器定期运行特定任务。当应用程序更新时,它会在短时间内不可用,如果触发警报,就会导致该特定问题!然后应用程序再次可用,一切正常。

因此,每次更新应用程序时,我都会定期收到此 FC 报告,但对此无能为力。

现在,在 FC 报告消息中,我有时会看到“更新时崩溃”...证实了这一点。

另外,关于迁移到 SD,我特意从清单文件中阻止了它,但市场上的某些应用程序仍然允许强制移动应用程序。因此,如果您使用小部件或警报,您也肯定会收到此类报告!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

升级Android应用程序时报告ClassNotFoundException错误 的相关文章

随机推荐

  • Indy TIdHTTP 发布问题

    我在向亚马逊发帖时遇到问题SES使用 Indy 的 TIdHTTP 的服务 这是我正在使用的代码的示例 procedure TMainFrm btnAmazonSESClick Sender TObject var SSLHandler T
  • Python 中的信号处理程序和日志记录

    日志记录模块的文档说 如果您使用信号模块实现异步信号处理程序 则可能无法在此类处理程序中使用日志记录 这是因为线程模块中的锁实现并不总是可重入的 因此不能从此类信号处理程序中调用 这表明不应从信号处理程序直接或间接调用的代码中进行日志记录调
  • Dagger 2 在多个实例中单例

    我刚刚测试了 Dagger 2 并且在单例注释方面出现了一些奇怪的行为 我创建了一些测试代码来显示我的问题 我的模块 Module public class App Provides Singleton ThingA provideThin
  • 如何在客户端中返回 Meteor.call() 的值?

    所以我一直在使用带有 MeteorJS 的 twitter API 我想做的只是在浏览器上显示 twitter 用户的屏幕名称 这是我到目前为止所做的 Meteor methods screenName function T get sea
  • 什么是静态构造函数?

    在一次采访中有人问我这个问题 什么是静态构造函数 C 中存在吗 如果是 请举例说明 C 没有静态构造函数 但您可以使用嵌套类的静态实例来模拟它们 class has static constructor friend class const
  • 如何设置 Selenium Python WebDriver 默认超时?

    尝试找到一种好方法来设置 Selenium Python WebDriver 中命令执行延迟的最大时间限制 理想情况下 类似 my driver get my driver my driver set timeout 30 seconds
  • IFrame 破坏文件 - 它们的用途是什么?

    在查看一些广告公司 DoubleClick Atlas 时 我遇到了 iframe Buster 文件的概念 这些文件与广告发布商托管在同一主机上 一个示例 http www adopstools com ibusters atlas at
  • CakePhp 中的 unbindModel 调用。它是如何工作的?

    蛋糕中unbindModel是如何发生的 this gt User gt unbindModel array hasAndBelongsToMany gt array Friend 我在函数的开头写了这个 但它仍然质疑 朋友 模型 函数中间
  • 在opencv python中创建透明图像

    我正在尝试制作一个透明图像并在其上绘图 然后在基础图像上添加加权 如何在 openCV python 中初始化具有宽度和高度的完全透明图像 编辑 我想制作像 Photoshop 中一样的效果 具有图层堆叠 所有堆叠图层最初都是透明的 并且在
  • OpenCL 和 CUDA 中的持久线程

    我读过一些关于 GPGPU 的 持久线程 的论文 但我不太理解它 任何人都可以给我一个例子或向我展示这种编程方式的使用吗 在阅读和谷歌搜索 持久线程 后 我脑子里记住的是 持久线程只不过是一个 while 循环 可以保持线程运行并计算大量工
  • 为什么这个 Kotlin 方法有反引号?

    下面的代码片段中的反引号有什么用 为什么将它们添加到fun is amount Int Boolean verifier is amount 这是因为is是 Kotlin 中的保留关键字 由于 Kotlin 应该可以与 Java 进行互操作
  • 测试 MS Access 应用程序的最佳方法?

    由于代码 表单和数据位于同一数据库中 我想知道为 Microsoft Access 应用程序 例如 Access 2007 设计一套测试的最佳实践是什么 测试表单的主要问题之一是只有少数控件具有hwnd句柄和其他控件只能获得它们所关注的一个
  • 如何将侦听器附加到单选按钮

    我有一个显示各种单选按钮的活动 单选按钮按单选组分组 我希望某些单选按钮在选中某个单选按钮时消失 例如 当选中事件按钮时 跌倒 旅行和疾病单选按钮就会消失 我怎样才能做到这一点 我有以下代码 但需要以某种方式将侦听器附加到事件按钮 Over
  • 在 Bash 中运行 PHP 函数(并将返回值保存在 bash 变量中)

    我正在尝试在 Bash 中运行 PHP 函数 但它不起作用 bin bash usr bin php lt lt EOF EOF 实际上 我需要将返回值保存在 bash 变量中 顺便说一下 我使用 php 的 getcwd 函数只是为了说明
  • 两个应用程序之间的通信

    是否可以在两个不同的应用程序 一个在后台运行 另一个在前台运行 之间进行通信 如果是 有人可以建议如何吗 是的 iPhone 中的两个应用程序之间可以进行通信 但仅限于少数场景 可能有些应用程序需要根据某些事件 例如电话等 发送到后台 在这
  • NameError:Python 3 中未定义全局名称“xrange”

    我在运行 python 程序时遇到错误 Traceback most recent call last File C Program Files x86 Wing IDE 101 4 1 src debug tserver sandbox
  • Rails:如何跨多个子域共享永久 cookie?

    我的应用程序的注册和登录过程发生在安全子域上 为此 我修改了config initializers session store rb看起来像 if Rails env production AppName Application confi
  • Android SQL - 检查数据库中是否已存在整行

    我正在尝试创建一个简单的收藏夹应用程序 您可以在其中保存您的收藏夹页面 例如来自网络的页面 假设我的数据库中有以下数据 Title URL TAG Hey Ho com Site Jo Jo com Image Jo Mo com Imag
  • 在Python中计算*多*组地理坐标之间的距离

    我正在努力计算之间的距离multiple纬度和经度坐标集 简而言之 我发现了许多使用数学或几何学的教程 当我只想找到一组坐标 或两个唯一位置 之间的距离时 这些教程非常有用 然而 我的目标是扫描具有 400k 个起点和目的地坐标组合的数据集
  • 升级Android应用程序时报告ClassNotFoundException错误

    我看过很多关于 ClassNotFoundException 和 Android 的帖子 但我还没有找到我所经历的原因 我有一个应用程序 数据计数器小部件 在 Android 市场上 它的下载量超过 25 万次 每次我发布新版本时 我都会在