来自 Parcel.readException 的 NullPointerException (等)

2024-04-11

看起来像这样的异常令人困惑:

FATAL EXCEPTION: main
java.lang.NullPointerException
    at android.os.Parcel.readException(Parcel.java:1437)
    at android.os.Parcel.readException(Parcel.java:1385)
    at com.yourpackage.ipc.IYourClass$Stub$Proxy.yourMethod(IYourClass.java:488)
    at com.yourpackage.ipc.YourClassShim.yourMethod(YourClassShim.java:269)

我找到了一堆与此相关的问题,但没有一个回答“如何调试这个”。所以我正在提出这个问题/答案。

通过查看android源码here http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/android/os/Parcel.java#Parcel.readException%28%29 and here http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/android/os/Parcel.java#Parcel.readException%28int,java.lang.String%29你会发现它可以抛出以下任何一个(NullPointerException正是我所拥有的):

SecurityException(msg);
BadParcelableException(msg);
IllegalArgumentException(msg);
NullPointerException(msg);
IllegalStateException(msg);
RuntimeException("Unknown exception code: " + code + " msg " + msg);

但是什么原因造成这些呢?


这里发生的事情是这样的readException()正在检查 IPC 字节流中是否存在表示发生异常的标头;如果它找到一个,那么它会抛出该类型的新异常,并具有相同的消息,但缺少原始堆栈跟踪。 (它实际上只知道一些异常类型;其他任何内容都会被转换为基本类型RuntimeException.)

那么最初的异常是从哪里来的呢?嗯,在真正实施的某个地方YourClass.yourMethod()-- 不在任何 Parcelable 或 IPC 代码中。所以去那里,将整个方法包装在 try/catch 中,并记录你捕获的任何内容。

(或者如果您有远程进程断点工作,则在那里设置一个断点。)

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

来自 Parcel.readException 的 NullPointerException (等) 的相关文章

  • 使用新语法应用 Android Gradle 插件

    如何使用新的 Gradle 插件语法应用 Android 插件 plugins id version 代替 buildscript dependencies classpath com android tools build gradle
  • Flutter 中的 AndroidManifest 中缺少默认通知通道元数据

    我在用firebase messaging 5 0 1软件包来实现推送通知 在 IOS 中一切正常 而在 Android 中 当我的移动应用程序在后台运行时 我收到通知 但它没有导航到相应的屏幕 它只是打开默认屏幕 如何实现到该特定屏幕的导
  • 在我的 Android 应用程序中使用 ServerValue.TIMESTAMP

    我读过很多相关的 stackoverflow 问题 ServerValue TIMESTAMP 但我不知道如何在我的应用程序中使用它 我需要获取帖子创建的时间戳 时间戳应该添加到与帖子的 uid 作者等相同的位置 代码片段其中写这篇文章Fi
  • 使用一个 apk 安装两个应用程序

    我有 2 个应用程序 1 内容提供者 2 使用此 ContentProvider 的应用程序 我需要使用单个 apk 文件安装这 2 个应用程序 我想在 Eclipse 中同时推送这两个应用程序 如果我将另一个项目添加到一个应用程序的构建路
  • 使用 HttpClient 时,为什么服务器响应中省略了 Content-Length 标头?

    我正在使用这个问题的源代码如何异步执行httprequest并显示下载响应的进度 https stackoverflow com questions 9594318 how to asynchronous perform a httpreq
  • 需要使用手机后退按钮返回 Web 视图的帮助

    这是我的代码 package com testappmobile import android app Activity import android os Bundle import android view KeyEvent impor
  • 如何在android中压缩和解压png图像

    您好 在我的应用程序中 当我单击 zip 按钮时 我需要压缩图像文件 当我单击解压缩按钮时 我需要解压缩文件 我尝试使用下面的代码来压缩图像 但我的问题是当我单击 zip 按钮时 正在创建 zip 文件 但之后在使用 winzip 软件的系
  • Android 中的 Sugar ORM:更新 SQLite 中保存的对象

    我是在 Android 上使用 SQLite 和 Sugar ORM 进行应用程序开发的新手 并尝试阅读 Sugar ORM 文档 但没有找到有关如何更新 SQLite 中保存的对象的任何信息 更改对象属性后还可以保存对象吗 就像是 Cus
  • Android PhoneGap 插件,UI 选项卡栏,调整 WebView 大小

    我正在创建一个美味的 PhoneGap 插件 希望一旦它能被打开 准备好了 插件基本完成了 我只需要一个漂亮的用户界面 相互作用 简而言之 我想创建一个 本机 android 工具栏组件 如果您实现 PhoneGap UIControls
  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • 像 WhatsApp 一样发送图片

    我做了一个聊天应用程序 我想添加照片 文件共享我的应用程序中的概念与 WhatsApp 相同 我已经使用该应用程序制作了Xmpp Openfire目前我正在使用此功能进行照片共享 但它并不完全可靠 public void sendFile
  • 适用于 Android 的 Google 云端硬盘\文档 API

    我在几个小时内将 Dropbox 与我的应用程序集成 因为 SDK 描述清晰并且有很好的使用示例 Google Drive 似乎只有一个 一刀切 的 Gdata SDK 它非常重 有很多依赖项 它使我的应用程序的大小增加了三倍 而且不是很直
  • Android 纹理仅显示纯色

    我正在尝试在四边形上显示单个纹理 我有一个可用的 VertexObject 它可以很好地绘制一个正方形 或任何几何对象 现在我尝试扩展它来处理纹理 但纹理不起作用 我只看到一种纯色的四边形 坐标数据位于 arrayList 中 the ve
  • android中listview显示数据库中的数据

    我是安卓新手 我想知道如何在列表视图中显示数据库中的数据 它不会向数据库添加数据 我只是显示我们存储在数据库中的任何内容 请帮助我实现这一目标 提前致谢 使用这些课程可能会对您有所帮助 用于数据库创建 package com example
  • android textview 有字符限制吗?

    我正在尝试在 android TextView 中输入超过 2000 3000 个字符 它不显示任何内容 任何一份指南是否对 android textview 有字符限制或什么 我在G3中做了一些小测试 我发现 如果activtiy布局中有
  • 在 Nougat 7.1.1 中点击应用程序快捷方式时出现应用程序未安装错误

    我在向现有应用程序添加静态应用程序快捷方式时遇到一些问题 我按照以下步骤操作https developer android com guide topics ui shortcuts html https developer android
  • 无法使用文件提供程序从内部存储打开 PDF 以便在 Android 8 和 9 上查看

    仅适用于 Android 8 和 9 我这里有一个 PDF 文件管理器 String url file storage emulated 0 Android data com verna poc files Download mypdf p
  • 如何在布局编辑器中模拟沉浸式模式

    我想在布局编辑器中全屏查看我的布局 我正在使用 eclipse 插件 我已经通过选择隐藏了 ActionBar NoActionBar组合中的主题 但导航栏是一个不同的故事 AFAIK 它只能使用代码中的标志来隐藏 我需要在活动 xml 文
  • 我应该如何在 Android 上使用 Retrofit 处理“无互联网连接”

    我想处理没有互联网连接的情况 通常我会运行 ConnectivityManager cm ConnectivityManager context getSystemService Context CONNECTIVITY SERVICE N
  • 将焦距(以毫米为单位)转换为像素 - Android

    在 Android 中 我当前正在访问camera s焦距通过使用getFocalLength in Camera1 Camera2不是一个选择 我正在尝试完全填充当前的计算 focal length pix focal length m

随机推荐

  • 将 ls 输出转换为 csv

    我将如何转换 find ls gt tmp files txt 这给了我类似的东西 908715 40 rwxrwxr x 1 david staff 16542 Nov 15 14 12 dump info py 908723 0 drw
  • 将两个 PDF 页面合并为新页面,文本内容之间不留空格

    all 我想将两个 PDF 合并为一个 PDF 与此同时 我想无缝地加入这两个 PDF 例如 假设第一个PDF文件的最后一页有很多空白 合并后 我希望第二个PDF从第一个PDF的空白开始 我们有任何工具支持吗 这是一项并不难的任务 假设我们
  • 使用 xmllint 添加属性

    我想向标签添加一个属性 使用xmllint 我可以通过 xmllint 做到这一点吗 Xmllint 不是用来编辑 XML 的 所以我认为答案是 不 你不能 要编辑 XML 您可以使用 XMLStarlet 向现有 XML 文档添加属性的语
  • 无法从视图中的异步方法返回值

    我正在尝试从中返回值asynchtml 帮助器 但它给出以下字符串而不是所需的值 System Threading Tasks Task WhenAllPromise 1 System Decimal Method public async
  • 由于 zend 路线,zend 导航无法工作

    EDIT 该问题是由于 zend 路由引起的 请检查更新 我正在使用 xml 文件进行导航 编辑 以下代码来自layout phtml文件 config new Zend Config Xml APPLICATION PATH config
  • 您可以从 EntityListener 访问 EntityManager 吗?

    我知道 JSR 000220 Enterprise JavaBeans 3 0 Final Release 持久性 规范指出 一般来说 便携式应用程序不应调用 EntityManager 或查询操作 访问其他实体实例 或修改生命周期回调方法
  • 安装 Laravel 时出现错误:“./composer.json 不可写。”

    这是我运行的命令 composer global require laravel installer 这是我之后得到的文本和错误 Changed current directory to home dimitar composer comp
  • 使用 OpenCV 改进图像中的矩形轮廓检测

    我正在尝试检测给定图像中的矩形框 Original image but the image is not good enough to detect rectangles how can i improve it and detect al
  • Python 单元测试输出数据

    如果我用 Python 编写单元测试 使用 unittest 模块 是否可以输出失败测试的数据 以便我可以检查它以帮助推断导致错误的原因 我知道创建自定义消息的能力 它可以携带一些信息 但有时您可能会处理更复杂的数据 这些数据无法轻松表示为
  • 代号 1 个 JavaScript 回调

    我正在尝试在我的应用程序中显示同意页面 该页面应该用 html 编写 因此应用程序需要处理来自浏览器的按钮单击事件 我尝试复制博客中的例子 https www codenameone com blog new async java java
  • 如何将自定义图形适合boost图形库模板?

    我对 C 模板很生疏 而且我正在使用 boost 图形库 一个致命的组合 我在网上搜索过 但找不到任何关于如何采用自定义图形结构并将其足够适合 BGL 增强图形库 的直接说明 以便我可以使用增强图形遍历算法 有熟悉图书馆的人可以帮助我吗 编
  • 我可以更改 Firebug 控制台背景颜色吗?

    我更喜欢 Firebug 窗口具有深色背景颜色和浅色文本 或者甚至只是灰色背景而不是白色就足够了 有什么办法可以做到这一点 无论是通过调整 firebug 的原始文件还是通过使用扩展 这是一个不错的 firebug 深色主题 仅适用于 Fi
  • Visual Studio 错误:已添加具有相同键的项目

    当我尝试更改控件的默认图像时在 Windows 窗体上在表单设计器中 无论在哪个控件上的哪个位置 我收到此错误 错误消息 具有相同的项目 密钥已经添加 我尝试删除并重新创建资源 resx文件 我保证只有 1 个带有这些键的 resx 文件存
  • 在 PHP 8 上安装 apcu_bc 包时遇到问题

    安装包时遇到以下错误pecl install apcu bc在 PHP 8 上 In file included from tmp pear temp apcu bc php apc c 35 usr local include php e
  • 如何从滚动视图中删除子视图?

    我如何从滚动视图中删除所有子视图 我在滚动视图中有一个 uiview 和它上面的一个按钮 像这样 这是我在滚动视图中添加子视图的代码 void AddOneButton NSInteger myButtonTag lastButtonNum
  • java.util.regex.Pattern 可以进行部分匹配吗?

    是否可以知道流 字符串是否包含以下输入 could匹配正则表达式 例如 String input AA Pattern pat Pattern compile AAAAAB Matcher matcher pat matcher input
  • 按名称访问 ResourceDictionary

    假设我的 Application xaml 中有一些 ResourceDictionary 定义如下
  • django-reversion 撤消功能 - 恢复多个对象

    我正在尝试使用 django reversion 在 django 项目中实现 撤消 功能 以防用户意外修改多个对象 使用管理面板不起作用 因为必须一一恢复对象 我的问题是我无法创建包含多个对象数据的修订版本 即使当我这样做时 with r
  • React + Antd + Rollup 组件库“错误:无效的钩子调用。钩子只能在函数组件体内调用”

    我目前正在构建一个 UI 库来简化跨多个应用程序的维护 这些目前使用 Ant Design 一切似乎都很顺利 我在两者中都添加了我的对等依赖项package json and rollup config js 通过外部 我能够让 Rollu
  • 来自 Parcel.readException 的 NullPointerException (等)

    看起来像这样的异常令人困惑 FATAL EXCEPTION main java lang NullPointerException at android os Parcel readException Parcel java 1437 at