gpt4 book ai didi

在 Android N 中使用 jsoup 下载数据时出现 java.lang.VerifyError

转载 作者:搜寻专家 更新时间:2023-11-01 09:46:02 25 4
gpt4 key购买 nike

我为新的 Android N 版本编译了我的 Android 应用程序,然后尝试在模拟器上对其进行测试。它运行正常,直到我尝试使用“jsoup”库下载和解析一些网站数据。然后我得到这个 java.lang.VerifyError:

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.masrepus.vplanapp, PID: 6584
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.VerifyError: Verifier rejected class org.jsoup.parser.HtmlTreeBuilderState$7: boolean org.jsoup.parser.HtmlTreeBuilderState$7.process(org.jsoup.parser.Token, org.jsoup.parser.HtmlTreeBuilder) failed to verify: boolean org.jsoup.parser.HtmlTreeBuilderState$7.process(org.jsoup.parser.Token, org.jsoup.parser.HtmlTreeBuilder): [0x140B] Invalid reg type for array index (Reference: org.jsoup.nodes.Node[]) (declaration of 'org.jsoup.parser.HtmlTreeBuilderState$7' appears in /data/app/com.masrepus.vplanapp-2/base.apk)
at org.jsoup.parser.HtmlTreeBuilderState.<clinit>(HtmlTreeBuilderState.java:246)
at org.jsoup.parser.HtmlTreeBuilder.parse(HtmlTreeBuilder.java:53)
at org.jsoup.parser.Parser.parseInput(Parser.java:30)
at org.jsoup.helper.DataUtil.parseByteData(DataUtil.java:81)
at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:517)
at org.jsoup.helper.HttpConnection.post(HttpConnection.java:174)
at com.masrepus.vplanapp.network.AsyncDownloader.updateAvailableFilesList(AsyncDownloader.java:961)
at com.masrepus.vplanapp.network.AsyncDownloader.downloadVplan(AsyncDownloader.java:237)
at com.masrepus.vplanapp.network.AsyncDownloader.doInBackground(AsyncDownloader.java:135)
at com.masrepus.vplanapp.network.AsyncDownloader.doInBackground(AsyncDownloader.java:113)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 

在研究 VerifyErrors 时,我遇到了一些解决方案,例如清理项目构建文件夹。但这些解决方案没有帮助。我想知道的是,[0x140B] Invalid reg type for array index 是什么意思。这可能是我必须解决的问题,但我不知道如何解决。

编辑:所以我更深入地研究了这个问题,并将崩溃定位在 org.jsoup.parser.HtmlTreeBuilderState 中名为“InBody”的 block 内。 ,第 244-759 行。我不知道为什么,但是当我在那里设置断点时,程序永远不会在那里停止,所以我不知道崩溃发生在这个 block 内的确切位置。但是由于错误消息提到某种数组索引,我认为它可能是我发现的与数据类型“Element”有关的 6 for 循环之一:它们位于第 305、388、561、582、602 和 640 行

最佳答案

禁用插孔。

启用插孔时出现同样的错误。我禁用了 jack 并编译,没有错误。然后我将jsoup源码复制到我的项目文件夹,启用jack并编译,没有报错。所以我认为这是将*.class 转换为*.jack 的工具jill 的一个错误。

关于在 Android N 中使用 jsoup 下载数据时出现 java.lang.VerifyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38059373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com