- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的应用程序的一些用户遇到了这个异常
java.lang.NoClassDefFoundError: [generic]
at dalvik.system.NativeStart.main(Native Method)
这不是常见的异常,因为用户数量众多,而且只有部分用户有此异常。我不使用任何 native 库,所有外部库也不使用任何 native 代码
它发生的 Android 版本:
有人可以帮我解决问题吗? AndroidManifest中的receiver可以调用这个问题吗?
1 Câu trả lời
Với [generic]
标记的
NoClassDefFoundError
由 VM 从“预制”对象抛出。该异常没有有用的堆栈跟踪,但通常不会自行出现。
背景:类加载器机制需要在加载器中找不到类时抛出异常。加载器必须服从它们的父加载器,所以如果你尝试加载一个应用程序类,它会首先询问引导加载器,这将失败并抛出异常。应用加载器随后会进行自己的查找,这很可能会成功。
这意味着 VM 正在分配一个异常,初始化对象,并填充堆栈跟踪...然后将其丢弃,对于不是来自引导类加载器的每个类。
为避免无意义的分配,引导加载程序(在 VM 内实现)抛出一个通用的预分配异常对象。因为该对象是在 VM 启动时完全形成的,所以它没有有意义的堆栈跟踪信息。
实际上您看不到这些,因为应用程序通常不会直接从引导加载程序加载类。应用程序或系统加载器为您创建一个有意义的异常。即使您直接从引导加载程序请求一个类,您也应该只将此视为 ClassNotFoundException
的“原因”。
编写 DexClassLoader
是为了在找不到类时使用错误代码而不是异常,因此您根本不会通过该路径看到它。
nếu như NoClassDefFoundError
是更大异常的“原因”,您需要获取最外层的异常,因为它会有有意义的堆栈跟踪。如果你看到它们自己出现,那么一些非常奇怪的事情正在发生——很可能是一些代码试图直接加载类并传递 vô giá trị
而不是类加载器对象(这是你如何引用引导加载程序)。
关于java.lang.NoClassDefFoundError : [generic] at dalvik. system.NativeStart.main(本地方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073622/
我在 PID 上使用 showmap 命令,但我无法理解报告中的这一部分: 16384 3752 689 0 3132 0 620
在哪里可以找到 dalvik 操作码列表以及相应的允许操作数及其大小(8 位/16 位/32 位/62 位) 最佳答案 This给出 dalvik vm 中存在的每个操作码的所有详细信息和 this给
当我们在桌面系统上运行其他虚拟机时,是否可以直接在 Dalvik 虚拟机上执行任务? 最佳答案 如果我正确理解了您的问题:我正在考虑 task在问题中提到 apk (如果是这样,那么以下答案可能对 y
对此进行了一些研究,并发现了一些关于在应用程序中面临相同问题的人的帖子。我也在我的应用程序的谷歌控制台中遇到了这个崩溃,并关注了我发现的帖子( java.lang.ClassNotFoundExcep
我知道这可能是 Android 中的一个基本问题。但是什么是 Dalvik 和 dalvik-cache? 最佳答案 Dalvik 是 Android 使用的虚拟机。它通常被认为是一个 Java 虚拟
关于在运行时动态生成 java 字节码并将其加载到正在运行的 Dalvik VM 中,这个问题已被多次询问(并回答),但是有没有办法在运行时将 dex 文件/字节码加载到应用程序中? 谢谢 最佳答案
Android 中 Dalvik Bridge Function 和 Dalvik Native Function 调用有什么区别? 最佳答案 简单来说, Android 是基于 Linux 的操作系
我想获取标准 Java 库的 Dalvik 字节码,我的意思是,Android 使用的 java 库(例如 java.util.* 集合)。 我需要获取这些类文件,因为我想分析它们,不是全部,而是像
我正在尝试学习 smali,但有一些问题无法通过谷歌搜索找到。 1)我创建了一个简单的测试用例来更好地解释自己 const-string v1, "Start" :try_start_0 const-
在我的应用程序中,我将一些数据存储在 Application 类中: public HashMap> getConfigs() { if (mConfigs != null) {
Java 规范允许编译器和 VM 重新排序内存写入以提高效率。 Dalvik VM 是否具体利用了这一点? 免责声明:我无意依赖顺序,即使 Dalvik 不这样做(此外编译器也可能这样做),但很高兴知
我已经下载并安装了 SDK。但是我的手机没有显示在 Dalvik 调试监视器中。 请帮帮我,这是怎么回事?我已经杀死了服务器。并重新启动。但是 adb devices 没有列出我的设备。我知道在 ec
我有一个正在运行的 dalvik 实例: /system/bin/dalvikvm ... -Xmx100m ... memmap 看起来像: b01f6000-b05b7000 rwxp 00000
如果我知道变量的模式,例如 R.id.edit_x where x (1..N),我如何才能获得对给定 EditText 的引用,例如 findViewByID(R.id.edit_1)。 Dalvi
我刚刚做了一个基准测试来比较局部变量、成员变量、其他对象的成员变量和getter setter 的访问性能。基准测试在循环中增加了 10 次 mio 迭代的变量。这是输出: BENCHMARK:本地1
在我的 Dalvik 调试监视器中 在删除所有以前的日志消息后显示与以前的日志消息具有不同标记的新日志消息。这意味着日志一直在清除自身并且只显示几行。我将如何查看所有日志消息? 最佳答案 我也经常遇到
我试图了解为 Android 中的每个进程分配了多少内存。据我了解,对于每个应用程序进程,都有一个单独的 Zygote 进程实例,Zygote 将 fork Dalvik VM。 我写了一个小的示例
我使用的是 Android 2.2 SDK,无法让 MultiUserChat 类中的静态 block 执行。我试图将其强制加载为 try { String qual = MultiUserC
我们正在为 Android jelly bean 开发一个项目。我们的平台是arm-based,内核版本是3.1.10。在我们的开发过程中,我们发现在dalvik中发生应用崩溃的概率非常低。根据以下回
每个 ANR 转储都列出了 ANR 发生时所有线程的状态。我知道 WAIT 是什么意思,但是 SUSPENDED 和 MONITOR 是什么意思? 提前致谢... 最佳答案 Dalvik 线程状态总结
Tôi là một lập trình viên xuất sắc, rất giỏi!