生产应用程序如何向用户显示未发现类的错误,但是在模拟器上,它可以与Android 9.0正常运行。模拟器在编译或构建期间是否还会中断或显示错误?
java.lang.RuntimeException:
在android.os.AsyncTask $ 3.done(AsyncTask.java:354)在 java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) 在java.util.concurrent.FutureTask.setException(FutureTask.java:252) 在java.util.concurrent.FutureTask.run(FutureTask.java:271)在 android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:245)在 java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)在 java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:641)在java.lang.Thread.run (Thread.java:764)
原因:java.lang.NoClassDefFoundError:
org.apache.http.impl.client.AbstractHttpClient中的。 (AbstractHttpClient.java:182)在 org.apache.http.impl.client.DefaultHttpClient。 (DefaultHttpClient.java:150)在 com.exposure.utilities.RestClient.executeRequest(RestClient.java:162) 在com.exposure.utilities.RestClient.Execute(RestClient.java:127)
在com.exposure.utilities.Utility.getData(Utility.java:162)处 com.exposure.utilities.DataTask.doInBackground(DataTask.java:26)在 com.exposure.utilities.DataTask.doInBackground(DataTask.java:9)位于 android.os.AsyncTask $ 2.call(AsyncTask.java:333)在 java.util.concurrent.FutureTask.run(FutureTask.java:266)
原因:java.lang.ClassNotFoundException:
在dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)在java.lang.ClassLoader.loadClass (ClassLoader.java:379)在java.lang.ClassLoader.loadClass (ClassLoader.java:312)
答案 0 :(得分:2)
这似乎是由于不赞成使用HTTP客户端。将以下代码添加到清单应用程序标签。
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
对于Android Pie,他们已从Andorid Pie开始弃用了对Apache HTTP客户端的支持,请查看更改日志以获取参考https://developer.android.com/about/versions/pie/android-9.0-changes-28#apache-p