Closed Alex277277277 closed 5 years ago
Yes this is because httpclient is deprecated. you need to add that tag in application element in android 9. https://developers.google.com/maps/documentation/android-sdk/config#specify_requirement_for_apache_http_legacy_library
Thanks for reaching us. We have fixed this with PR #53 merged, which replaces outdated httpClient
with OkHttp
. Please have a try. Feel free to reopen this if you still meet similar problems.
Sample app crashes on Android 9.
com.microsoft.projectoxford.faceapisample E/AndroidRuntime: FATAL EXCEPTION: main Process: com.microsoft.projectoxford.faceapisample, PID: 12223 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/impl/client/DefaultHttpClient; at com.microsoft.projectoxford.face.rest.WebServiceRequest.(WebServiceRequest.java:67)
at com.microsoft.projectoxford.face.FaceServiceRestClient.(FaceServiceRestClient.java:99)
at com.microsoft.projectoxford.face.samples.helper.SampleApp.onCreate(SampleApp.java:45)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.impl.client.DefaultHttpClient" on path: DexPathList[[zip file "/data/app/com.microsoft.projectoxford.faceapisample-mX1hJpaMtqiI69OayytOcQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.microsoft.projectoxford.faceapisample-mX1hJpaMtqiI69OayytOcQ==/lib/arm64, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.microsoft.projectoxford.face.rest.WebServiceRequest.(WebServiceRequest.java:67)
at com.microsoft.projectoxford.face.FaceServiceRestClient.(FaceServiceRestClient.java:99)
at com.microsoft.projectoxford.face.samples.helper.SampleApp.onCreate(SampleApp.java:45)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Please add this to AndroidManifest.xml:
<uses-library android:name="org.apache.http.legacy" android:required="false" />
Thanks.