您的位置:首页 > 其它

软件内部更新,出现“解析包时出现问题”的错误后停止

2017-12-21 20:09 525 查看
参考: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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐