【问题标题】:Android: After enabling the Proguard API call is not workingAndroid:启用 Proguard API 调用后不起作用
【发布时间】:2016-03-10 06:36:14
【问题描述】:

我只是在我的应用程序中启用了 proguard。我正在使用org.apache.http 方法进行 API 调用。

 buildTypes {
    release {
        // signingConfig signingConfigs.release
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

当我第一次启用 Proguard 时,当我尝试生成发布 APK 时收到警告

Warning:library class org.apache.http.conn.scheme.LayeredSocketFactory extends or implements program class org.apache.http.conn.scheme.SocketFactory
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
Warning:library class org.apache.http.conn.ssl.SSLSocketFactory depends on program class org.apache.http.conn.scheme.HostNameResolver
Warning:library class org.apache.http.conn.ssl.SSLSocketFactory depends on program class org.apache.http.params.HttpParams
Warning:library class org.apache.http.params.HttpConnectionParams depends on program class org.apache.http.params.HttpParams

所以我在 Proguard 中添加了一些规则

-keep class org.apache.http.** { *; }
-dontwarn org.apache.http.**
-dontwarn android.net.**

release APK生成成功后,API没有调用。

谁能帮帮我。

【问题讨论】:

  • 你有什么异常吗?
  • 日志会有所帮助
  • 记录或者没有发生
  • Proguard 正在发布 apk ,所以我怎样才能获得 Log.我检查了服务器,它显示没有调用服务器@Much Overflow
  • 我如何获取日志。它的发布 apk @Ragesh Ramesh

标签: android apache http-headers apache-httpclient-4.x android-proguard


【解决方案1】:

ProGuard 混淆将转换模型类名称,因此如果您使用 Gson 在 post 方法中传递这些类名,则 API 将不起作用,因此请保留所有模型类,如下所示

-keep class com.android.appname.** { *; }
(The package name of the you app)
-dontwarn com.android.appname.**

【讨论】:

  • -dontwarn com.android.appname.** without class
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多