使用 jsoup 和 proguard 关闭强制关闭

2024-06-22

编辑:我的 PROGUARD 版本是 4.7

今天我尝试包括jsoup (version 1.7.1)在我的android应用程序中,但这给我带来了很多麻烦。当我导出签名的apk with proguard 打开每当我的应用程序面临强制关闭问题时,我就会禁用proguard并导出了apk它运行得很完美。请帮我。我该如何解决该错误?堆栈跟踪如下:

java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:278)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:107
6)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:56
9)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.ExceptionInInitializerError
at org.jsoup.nodes.Document$OutputSettings.<init>(Unknown Source)
at org.jsoup.nodes.Document.<init>(Unknown Source)
at org.jsoup.parser.TreeBuilder.void initialiseParse(java.lang.String,java.lang.
String,org.jsoup.parser.ParseErrorList)(Unknown Source)
at org.jsoup.parser.TreeBuilder.org.jsoup.nodes.Document parse(java.lang.String,
java.lang.String,org.jsoup.parser.ParseErrorList)(Unknown Source)
                            boolean process(org.jsoup.parser.Token)
at org.jsoup.parser.HtmlTreeBuilder.org.jsoup.nodes.Document parse(java.lang.Str
ing,java.lang.String,org.jsoup.parser.ParseErrorList)(Unknown Source)
                                boolean process(org.jsoup.parser.Token)
                                boolean process(org.jsoup.parser.Token,org.j
soup.parser.HtmlTreeBuilderState)
                                void transition(org.jsoup.parser.HtmlTreeBui
lderState)
                                org.jsoup.parser.HtmlTreeBuilderState state(
)
                                void framesetOk(boolean)
                                void maybeSetBaseUri(org.jsoup.nodes.Element
)
                                org.jsoup.nodes.Element insert(org.jsoup.par
ser.Token$StartTag)
                                org.jsoup.nodes.Element insert(java.lang.Str
ing)
                                void insert(org.jsoup.parser.Token$Comment)
                                void insert(org.jsoup.parser.Token$Character
)
                                boolean isElementInQueue(org.jsoup.helper.De
scendableLinkedList,org.jsoup.nodes.Element)
                                void popStackToClose(java.lang.String[])
                                void insertOnStackAfter(org.jsoup.nodes.Elem
ent,org.jsoup.nodes.Element)
                                void replaceInQueue(java.util.LinkedList,org
.jsoup.nodes.Element,org.jsoup.nodes.Element)
                                boolean inSpecificScope(java.lang.String,jav
a.lang.String[],java.lang.String[])
                                boolean inSpecificScope(java.lang.String[],j
ava.lang.String[],java.lang.String[])
                                boolean inScope(java.lang.String,java.lang.S
tring[])
                                void insertInFosterParent(org.jsoup.nodes.No
de)
at org.jsoup.parser.Parser.org.jsoup.nodes.Document parse(java.lang.String,java.
lang.String)(Unknown Source)
at org.jsoup.Jsoup.org.jsoup.nodes.Document parse(java.lang.String)(Unknown Sour
ce)
at com.my.package.name.BalCheck.void doLogin(java.lang.String,java.lang
.String)(Unknown Source)
                                     void checkBal()
                                     void echo(java.lang.String)
at com.my.package.name.BalCheck.void doCheckBalance(java.lang.String,ja
va.lang.String)(Unknown Source)
at com.my.package.name.SmsPage$CheckUltooBalance.java.lang.Void doInBac
kground(java.lang.Void[])(Unknown Source)
                                                      void onPostExecute(jav
a.lang.Void)
at com.my.package.name.SmsPage$CheckUltooBalance.java.lang.Object doInB
ackground(java.lang.Object[])(Unknown Source)
at android.os.AsyncTask$2.call(AsyncTask.java:264)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 5 more
Caused by: java.lang.ExceptionInInitializerError
at org.jsoup.nodes.Entities$EscapeMode.<clinit>(Unknown Source)
... 18 more
Caused by: java.lang.NullPointerException
at java.util.Properties.load(Properties.java:246)
at org.jsoup.nodes.Entities.java.util.Map loadEntities(java.lang.String)(Unknown
 Source)
at org.jsoup.nodes.Entities.<clinit>(Unknown Source)
... 19 more

@Erdem 在上面的评论中发布的解决方案似乎是最好的解决方案。我将其重新发布作为可见性的答案。

将以下行添加到您的 proguard 文件中

-keeppackagenames org.jsoup.nodes

这似乎已经足够了

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

使用 jsoup 和 proguard 关闭强制关闭 的相关文章

随机推荐

  • 加载模块一次,requirejs 带有示例

    我已经问过类似的问题 Requirejs Requirejs 加载每个模块一次 是什么意思 https stackoverflow com questions 18434356 requirejs what it means require
  • C/C++ 是否提供最短执行时间的保证?

    为什么编译器似乎对不执行任何操作且不消除它们的循环很礼貌 C 标准是否要求循环需要一些时间 例如 以下代码 void foo void while 1 for int k 0 k lt 1000000000 k printf Foo n 运
  • MFC 中的粗体标签

    我想在 MFC 静态文本 中创建具有以下功能的标签 bold和非粗体文本 像这样的东西 我想要我的标签看起来像这个 例如 有什么想法如何做到这一点 我知道我可以更改整个标签的字体 并将其设置为粗体或不粗体 但是有没有办法合并多种样式 或者提
  • Django:错误的语言偏好

    我使用 Django 用两种语言创建一个 Web 项目 英语和德语 该文档的默认语言是英语 我自己将其翻译成德语并创建了一个 po 文件 我的想法是 如果有人说德语并且浏览器的区域设置设置为 de Django 应该切换到德语 我提供的翻译
  • NFC Intent Filter - 发送消息非主要活动

    我确信这很简单 但我无法弄清楚 我想做的就是通过 NFC 发送消息 如果我将其发送到主要活动 我的代码可以完美工作 但我不知道如何将其发送到不同的活动 我已经查看了 Android 开发者页面上的 NFC 和 Intent Filter 文
  • 获取最后点击的项目 ID

    我有这样的功能 document ready function click function alert this attr id toString 在页面上我有这样的东西
  • 开发复杂的 Javascript 应用程序时可以使用多个 .JS 文件吗?

    来自 C 背景 其中每个类 最佳实践 都存储在自己的单独文件中 这使得开发变得非常干净 我过去从未用 Javascript 编写过任何复杂的内容 但我开始学习 HTML 5 并且我想使用 HTML 5 画布编写一个复杂的游戏 将我的所有函数
  • 如何 cd 到 Mac OSX 终端中的别名目录

    有没有办法使用命令 cd 从 shell 进入别名目录 它总是返回 htdocs 不是目录 编辑 我使用操作系统 GUI 创建了快捷方式 gt 右键单击 htdocs 目录并选择 别名 我使用的是德语操作系统 如果它不是别名 也许它在英语中
  • QMake 模拟 cmake 的“find_package”

    qmake中有没有类似cmake的机制find package 如果我需要包含系统上安装的库 如何避免手动写入包含路径和库名称 最佳实践是什么 如果使用的库提供了 pkgconfig pc 文件 您可以在 pro 文件中使用 link pk
  • 类,其中 T:枚举”不起作用[重复]

    这个问题在这里已经有答案了 可能的重复 创建将 T 约束为枚举的通用方法 https stackoverflow com questions 79126 create generic method constraining t to an
  • 如何将 Jsoup 文档保存为 HTML 文件?

    我已经使用此方法将网页检索到org jsoup nodes Document object myDoc Jsoup connect myURL ignoreContentType true get 我应该如何将此对象写入 HTML 文件 方
  • 用于粘贴代码的良好 IM/聊天解决方案

    我们有几个分布式开发人员在几个项目上一起工作 我们一直在使用 Skype 与所有开发人员进行聊天 除了一件事之外 它运行良好 它确实破坏了我们复制并粘贴到聊天中的任何代码 尤其是 Python 中的空格 这个问题有很多关于聊天客户端和服务器
  • 检索带参数的 LINQ to sql 语句 (IQueryable)

    我试图弄清楚是否有一种方法可以检索在数据库服务器上执行的 完整 sql 语句 我已经找到了一些东西 但它并不完全是我想要的 IQueryable
  • 更改 Android 上的导航栏图标颜色

    I need to change the navigation bar on android Just like the light variant on the right in the image below as given in h
  • 如何检查 x86_64 程序集中的寄存器是否为零 [重复]

    这个问题在这里已经有答案了 我正在尝试检查 x86 64 汇编代码中的值是否为零 我知道这通常包括cmp变体后跟一个jmp变体 但我不确定确切的使用说明 如果您之前刚刚使用过修改 ZF 的指令 只需检查该标志并使用JZ or JE 例如 a
  • RecyclerView 行为 - 打开/关闭键盘时变为空

    我已经实施了一个RecyclerView with SearchView and Filterable 所有课程来自v7 现在有这种行为很烦人 每当键盘打开或关闭时 RecyclerView变为空白 计数仍然正确 但视图为空 我的猜测 这与
  • 线程“main”中的异常 java.lang.NoSuchFieldError:工厂问题

    我正在尝试用 Java 测试 xml 到 excel 转换器 但出现以下异常 Exception in thread main java lang NoSuchFieldError Factory at org apache poi xss
  • Ruby 中救援的替代方案?

    好像我有begin rescue end我的代码中到处都是语句 这似乎不是正确的做法 谁能建议我如何捕获任何异常而不必将所有内容都放在里面begin rescue end 有什么方法可以让 Ruby 闭嘴并继续前进 即使出现异常也是如此 与
  • Windbg dump 命令失败,错误为 0x8007012b

    客户正在尝试捕获挂起的小型转储 他启动 WindDbg 并成功附加到该进程 WinDbg 显示其标题 Microsoft R Windows Debugger Version 6 11 0001 404 AMD64 Copyright c
  • 使用 jsoup 和 proguard 关闭强制关闭

    编辑 我的 PROGUARD 版本是 4 7 今天我尝试包括jsoup version 1 7 1 在我的android应用程序中 但这给我带来了很多麻烦 当我导出签名的apk with proguard 打开每当我的应用程序面临强制关闭问