AndroidRuntime: java.lang.RuntimeException: Stub!
AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.<init>(AbstractHttpClient.java:69)
AndroidRuntime: at org.apache.http.impl.client.DefaultHttpClient.<init>(DefaultHttpClient.java:83)
AndroidRuntime: at com.xxx.xxxxx.http.HttpClientConnect.doPost(HttpClientConnect.java:31)
AndroidRuntime: at com.xxx.xxxxx.MainActivity$PostDeviceInfoThread.run(MainActivity.java:90)
错误原因:android 9.0 ,Apache HTTP client 已经从bootClassLoader 里面移除了
解决办法:
1、在AndroidManifest.xml 添加以下内容:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
2、将targetSdkVersion 配置成29以下:
defaultConfig {
applicationId "com.xxx.xxxxx"
minSdkVersion 18
targetSdkVersion 29 ---> 29以下
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}