java - 生产 Android 应用程序显示原因:java.lang.NoClassDefFoundError 错误
问题描述
生产应用程序如何向用户显示类未找到错误,但在模拟器上它在 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。在 java.util.concurrent.FutureTask.run (FutureTask.java:266) 调用 (AsyncTask.java:333)
引起:java.lang.ClassNotFoundException:
在 dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134) 在 java.lang.ClassLoader.loadClass (ClassLoader.java:379) 在 java.lang.ClassLoader.loadClass (ClassLoader.java:312)
解决方案
看起来这是由于不推荐使用 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
推荐阅读
- c++ - C++ 随机 ID 和随机答案
- css - 您知道为什么搜索图标没有以白色背景显示并且下拉菜单未在右侧对齐吗?
- r - R删除xml数据中的重复兄弟
- c - 在 C 中使用 fgets 和 strtok 读取文件并将信息保存在喜欢的列表中
- angular - 如何在 Snackbar 中设置消息
- python - 熊猫,转换具有相同日期时间索引值的行
- oracle - Oracle SQL 表在 Create 语句上显示缺少右括号为什么?
- python - 使用 matplotlib python 为决策树分类器绘制 2 个以上的特征
- selenium-chromedriver - 使用 Chrome 驱动程序的 C# Selenium 代理身份验证
- python - 在其他功能中导入模块