Производственное приложение для Android, показывающее: Причина: ошибки java.lang.NoClassDefFoundError - PullRequest
0 голосов
/ 29 ноября 2018

Как производственное приложение может показать пользователям, что в классе не найдена ошибка, но в эмуляторе оно прекрасно работает с 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.conkrent.выполнить (FutureTask.java:271) в android.os.AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java:245) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) в java.til.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)

1 Ответ

0 голосов
/ 29 ноября 2018

Похоже, это связано с устаревшим http-клиентом.Добавьте приведенный ниже код в тег приложения манифеста.

<uses-library android:name="org.apache.http.legacy" android:required="false"/>

С Android-пирогом они устарели в поддержке HTTP-клиента Apache, начиная с Android-пирога, проверьте журнал изменений для справки https://developer.android.com/about/versions/pie/android-9.0-changes-28#apache-p

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...