原文地址:https://www.xugj520.cn/archives/volley.html

一、问题

最近在开发升级Android版APP时,打包APK后出现无法访问网络的错误:

二、解决方案:

先说解决方案,再说解决过程。方便大家快速解决问题。开发的时间,你懂得~~~
在gradle-wrapper.properties文件中修改:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

在build.gradle中修改:

dependencies {  classpath 'com.android.tools.build:gradle:3.2.0'}

注意:gradle版本和插件版本需要对应

三、解决思路

在开发和打包的时候都没有问题,打包后出现。说明业务代码没有问题,可能是打包参数出现问题。
排查问题发现minifyEnabled true参数;当值设置为true时,APK没有问题。一开始认为是混淆规则中的volley被混淆无法找到的原因,添加了volley的:

# volley-keep class com.android.volley.** {*;}-keep class com.android.volley.toolbox.** {*;}-keep class com.android.volley.Response$* {*;}-keep class com.android.volley.Request$* {*;}-keep class com.android.volley.RequestQueue$* {*;}-keep class com.android.volley.toolbox.HurlStack$* {*;}-keep class com.android.volley.toolbox.ImageLoader$* {*;}-keep class org.apache.http.** {*;}

问题依旧没有解决!!!

折腾无数次之后,想到由于之前都是在MacOS上开发iOS版,转到windows上开发Android时将Android Studio、gradle版本都升级到了最新版本。于是开始降级gradle版本,将gradle版本从5.1.1降级到4.6,插件从3.4降级到3.1在构建时出错,原因是插件版本和gradle版本不一致。翻看Android Developers

最后将gradle版本改为4.6 插件版本改为3.2 构建、打包、测试。搞定!

更多相关文章

  1. Android中使用BuildConfig.DEBUG必须知道的内幕
  2. android studio报错Unsupported major.minor version的解决
  3. Android(安卓)适配Q版本Beta2
  4. android P系统访问http请求最简单解决方案
  5. 关于Android(安卓)27.1.1版本不兼容问题 --解决support-annotati
  6. Android(安卓)Studio利用BuildConfig获取版本名和版本号
  7. gradle 指定导出包的名字和路径
  8. Android(安卓)studio 多渠道打包(超简洁版)
  9. android sdk命令行update

随机推荐

  1. android布局文件中的include
  2. android.support.v7使用,出错处理
  3. Android(安卓)RabbitMQ使用之RabbitMQ安
  4. 安卓(android)使用GPS,获取经纬度
  5. Titanium 使用刘明星的Jpush module做and
  6. android adb工具
  7. Android中的常用的对话框
  8. Android(安卓)Studio 3.0开始android Dev
  9. android插件汇总
  10. Android修改字体样式