解析错误:解析软件包时出现问题

解析错误:解析软件包时出现问题

今天在做自动检测软件更新的时候,将服务器上apk下载下来后,调用Android安装代码进行安装,报了如下错误:

解析错误:解析软件包时出现问题

检查了一下代码,发现出现这个问题的原因是没有关闭输入输出流和关闭网络连接,在下载完后需要依次将这些打开的流关闭,就能解决问题了

bis.close();

bos.close();

connection.disconnect();

/**

* 下载apk

*/

public void downLoadApk() {

try {

URL url = new URL("http://hxyiyo.com/ydjx_tV1.0.apk");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());

File file = new File(Environment.getExternalStorageDirectory() + "/newap.apk");

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));

int fileLength = connection.getContentLength();

int downloadLength = 0;

int progressLength = 0;

int n = 0;

byte[] buffer = new byte[1024];

while ((n = bis.read(buffer, 0, buffer.length)) != -1) {

bos.write(buffer, 0, n);

downloadLength += n;

progressLength = (int)(((float)downloadLength / fileLength)*100);

Message msg = new Message();

msg.arg1 = progressLength;

hanlder.sendMessage(msg);

}

bis.close();

bos.close();

connection.disconnect();

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

相关内容

牧笙名字寓意,牧笙名字的含义,牧笙名字的意思解释
365bet外围

牧笙名字寓意,牧笙名字的含义,牧笙名字的意思解释

⌚ 07-19 👁️‍🗨️ 2866
excel表格怎么斜向划分
365bet最稳定网址

excel表格怎么斜向划分

⌚ 07-18 👁️‍🗨️ 4278
三星 GALAXY S6/G9200(2015年04月上市)
365bet外围

三星 GALAXY S6/G9200(2015年04月上市)

⌚ 08-15 👁️‍🗨️ 6133

友情链接