本文主要是介绍软件内部更新,出现“解析包时出现问题”的错误后停止,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考:connection.getContentLength()为负值
android 解析包时出现问题
常见原因:
下载的apk与安装的apk路径不一致(对比路径)
apk没有下载完全(比较下载的apk大小与打包时的大小)
debug分析原因:
apk的下载路径和安装路径一致,
但是HttpURLConnection.getContentLength()为-1,设置下载进度条最大失败,从而 导致apk下载不全。
后台设置请求头获取长度以前是Accept-Length,后来改为Content-Length即可。
获取 文件总大小的方法:
//方式一:请求头:Accept-LengthString b = connection.getHeaderField("Accept-Length");int c = connection.getHeaderFieldInt("Accept-Length", 0);//方式二:请求头:Content-Lengthint 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);
这篇关于软件内部更新,出现“解析包时出现问题”的错误后停止的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!