org.apache.http.legacy.jar Proguard error

六月ゝ 毕业季﹏ 提交于 2019-12-12 03:50:07

问题


When I use httpclient-4.5.2.jar + httpcore-4.4.4.jar, Proguard works fine. But when I replace the above to packages by org.apache.http.legacy.jar, following Proguard error is reported:

Proguard returned with error code 1. See console
Note: there were 273 duplicate class definitions.
Warning: library class android.webkit.WebView depends on program class android.net.http.SslCertificate
Warning: library class android.webkit.WebView depends on program class android.net.http.SslCertificate
Warning: library class android.webkit.WebViewClient depends on program class android.net.http.SslError
      You should check if you need to specify additional program jars.
Warning: there were 3 instances of library classes depending on program classes.
         You must avoid such dependencies, since the program classes will
         be processed, while the library classes will remain unchanged.
java.io.IOException: Please correct the above warnings first.
    at proguard.Initializer.execute(Initializer.java:321)
    at proguard.ProGuard.initialize(ProGuard.java:211)
    at proguard.ProGuard.execute(ProGuard.java:86)
    at proguard.ProGuard.main(ProGuard.java:492)

How can I fix that?


回答1:


use this below code into your build.gradle instead import jar file :

useLibrary 'org.apache.http.legacy'

For reference check this code :

android {
compileSdkVersion 23
buildToolsVersion "24.0.0"
useLibrary 'org.apache.http.legacy'

defaultConfig {
    applicationId "com.application.abc"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}


来源:https://stackoverflow.com/questions/38931410/org-apache-http-legacy-jar-proguard-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!