参考:connection.getContentLength()为负值
android 解析包时出现问题
常见原因:
下载的apk与安装的apk路径不一致(对比路径)
apk没有下载完全(比较下载的apk大小与打包时的大小)
debug分析原因:
apk的下载路径和安装路径一致,
但是HttpURLConnection.getContentLength()为-1,设置下载进度条最大失败,从而 导致apk下载不全。
后台设置请求头获取长度以前是Accept-Length,后来改为Content-Length即可。
获取 文件总大小的方法:
//方式一:请求头:Accept-Length
String b = connection.getHeaderField("Accept-Length");
int c = connection.getHeaderFieldInt("Accept-Length", 0);
//方式二:请求头:Content-Length
int fileSize = connection.getContentLength();
System.out.println("fileSize====" + fileSize / 1024.00 / 1024.00);
System.out.println("b====" + b);
System.out.println("c====" + c / 1024.00 / 1024.00);