android studio 混淆打包apk后volley无法访问网络

原文地址: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 构建、打包、测试。搞定!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值