Java RuntimeException doInBackground() Android Jsoup 应用程序错误
Java RuntimeException doInBackground() Android Application Error with Jsoup
我目前无法在我的物理设备 (S6) 上重现此错误。事情对我来说很好,我所做的改变似乎并没有解决这个问题。我有以下错误:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ExceptionInInitializerError
at a.a.b.m.a(Unknown Source)
at a.a.b.p.<clinit>(Unknown Source)
at a.a.b.g.<init>(Unknown Source)
at a.a.b.f.<init>(Unknown Source)
at a.a.c.di.b(Unknown Source)
at a.a.c.di.a(Unknown Source)
at a.a.c.b.a(Unknown Source)
at a.a.c.ae.a(Unknown Source)
at a.a.a.a.a(Unknown Source)
at a.a.a.f.e(Unknown Source)
at a.a.a.b.a(Unknown Source)
at com.airborne.grgr4.f.a(Unknown Source)
at com.airborne.grgr4.f.doInBackground(Unknown Source)
at android.os.AsyncTask.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
... 4 more
Caused by: java.lang.NullPointerException: in == null
at java.util.Properties.load(Properties.java:246)
at a.a.b.m.d(Unknown Source)
at a.a.b.m.<clinit>(Unknown Source)
我知道这是尝试从后台线程或其他线程误用更新 UI 时的常见错误。困扰我的是我无法在我的 Galaxy S6 上重现此错误,因此我无法正确修复它。这是我的异步代码:
new selectRepsBasedOnZipCode().execute(zipCode);
^^调用方法。
private class selectRepsBasedOnZipCode extends AsyncTask<String, Void, ArrayList<String>> {
protected ArrayList<String> doInBackground(String... params) {
ArrayList<String> UserRepsBasedOnZip = new ArrayList<String>();
String firstPartOfURL = "https://www.opencongress.org/search/result?q=";
String lastPartOfURL = "&search_people=1";
String urlToParse = firstPartOfURL + params[0] + lastPartOfURL;
try {
Document doc = Jsoup.connect(urlToParse).get();
Elements content = doc.getElementsByClass("name");
for (Element name : content) {
UserRepsBasedOnZip.add(name.childNode(0).toString().trim());
}
} catch (Exception ex) {
return UserRepsBasedOnZip;
}
return UserRepsBasedOnZip;
}
@Override
protected void onPostExecute(ArrayList<String> UserRepsBasedOnZip) {
finishBuildingLocalRepPage(UserRepsBasedOnZip);
}
}
我正在使用 JSoup 来完成其中的一些工作。正如我所说,我无法重现该问题(程序是从我设备上的 Android Studio 编译的最新版本)但我知道其他人报告了此应用程序崩溃。
这是我在事件的这个阶段唯一的异步方法,所以这让我相信这一定是崩溃发生的地方。任何有关修复以及如何验证修复的反馈或建议都将非常有用,谢谢。
+奖金,如果你能解释为什么这在我的设备(S6)上完美运行但在所有其他设备(L-01F,Galaxy Tab A 8.0,Galaxy S4,HTC One)上失败。
我建议您使用 Log.e() 或 Log.i() 跟踪错误。你会得到它作为参考你可以参考我参考的博客 AsyncTask
当您混淆 jsoup 代码时,问题出在 ProGuard。只需检查这个答案:
也检查这个问题jsoup code works in Java but not in Android- Nullpointerexception
希望对你有所帮助!!!
我目前无法在我的物理设备 (S6) 上重现此错误。事情对我来说很好,我所做的改变似乎并没有解决这个问题。我有以下错误:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ExceptionInInitializerError
at a.a.b.m.a(Unknown Source)
at a.a.b.p.<clinit>(Unknown Source)
at a.a.b.g.<init>(Unknown Source)
at a.a.b.f.<init>(Unknown Source)
at a.a.c.di.b(Unknown Source)
at a.a.c.di.a(Unknown Source)
at a.a.c.b.a(Unknown Source)
at a.a.c.ae.a(Unknown Source)
at a.a.a.a.a(Unknown Source)
at a.a.a.f.e(Unknown Source)
at a.a.a.b.a(Unknown Source)
at com.airborne.grgr4.f.a(Unknown Source)
at com.airborne.grgr4.f.doInBackground(Unknown Source)
at android.os.AsyncTask.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
... 4 more
Caused by: java.lang.NullPointerException: in == null
at java.util.Properties.load(Properties.java:246)
at a.a.b.m.d(Unknown Source)
at a.a.b.m.<clinit>(Unknown Source)
我知道这是尝试从后台线程或其他线程误用更新 UI 时的常见错误。困扰我的是我无法在我的 Galaxy S6 上重现此错误,因此我无法正确修复它。这是我的异步代码:
new selectRepsBasedOnZipCode().execute(zipCode);
^^调用方法。
private class selectRepsBasedOnZipCode extends AsyncTask<String, Void, ArrayList<String>> {
protected ArrayList<String> doInBackground(String... params) {
ArrayList<String> UserRepsBasedOnZip = new ArrayList<String>();
String firstPartOfURL = "https://www.opencongress.org/search/result?q=";
String lastPartOfURL = "&search_people=1";
String urlToParse = firstPartOfURL + params[0] + lastPartOfURL;
try {
Document doc = Jsoup.connect(urlToParse).get();
Elements content = doc.getElementsByClass("name");
for (Element name : content) {
UserRepsBasedOnZip.add(name.childNode(0).toString().trim());
}
} catch (Exception ex) {
return UserRepsBasedOnZip;
}
return UserRepsBasedOnZip;
}
@Override
protected void onPostExecute(ArrayList<String> UserRepsBasedOnZip) {
finishBuildingLocalRepPage(UserRepsBasedOnZip);
}
}
我正在使用 JSoup 来完成其中的一些工作。正如我所说,我无法重现该问题(程序是从我设备上的 Android Studio 编译的最新版本)但我知道其他人报告了此应用程序崩溃。
这是我在事件的这个阶段唯一的异步方法,所以这让我相信这一定是崩溃发生的地方。任何有关修复以及如何验证修复的反馈或建议都将非常有用,谢谢。
+奖金,如果你能解释为什么这在我的设备(S6)上完美运行但在所有其他设备(L-01F,Galaxy Tab A 8.0,Galaxy S4,HTC One)上失败。
我建议您使用 Log.e() 或 Log.i() 跟踪错误。你会得到它作为参考你可以参考我参考的博客 AsyncTask
当您混淆 jsoup 代码时,问题出在 ProGuard。只需检查这个答案:
也检查这个问题jsoup code works in Java but not in Android- Nullpointerexception
希望对你有所帮助!!!