Android 下载后安装应用程序:`有一个p;r;o;b&x200C;l;e&x200C;我正在分析这个包`
我正在尝试从应用程序下载安装.apk文件。以下是三种不同的情况: 1。通过adb从Eclipse到平板电脑运行应用程序没有问题Android 下载后安装应用程序:`有一个p;r;o;b&x200C;l;e&x200C;我正在分析这个包`,android,eclipse,apk,sign,Android,Eclipse,Apk,Sign,我正在尝试从应用程序下载安装.apk文件。以下是三种不同的情况: 1。通过adb从Eclipse到平板电脑运行应用程序没有问题 2。从Eclipse签名并导出通过USB将.apk文件传输到平板电脑安装并运行应用程序无问题 3.从Eclipse签名并导出(与2中的文件相同)将.apk文件上载到服务器从应用程序下载.apk文件尝试安装“解析包时出现问题” 下载应用程序的代码: private class DownloadFile extends AsyncTask<String, Intege
2。从Eclipse签名并导出通过USB将.apk文件传输到平板电脑安装并运行应用程序无问题
3.从Eclipse签名并导出(与2中的文件相同)将.apk文件上载到服务器从应用程序下载.apk文件尝试安装“解析包时出现问题” 下载应用程序的代码:
private class DownloadFile extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... sUrl) {
try {
URL url = new URL(sUrl[0]);
URLConnection connection = url.openConnection();
connection.connect();
// this will be useful so that you can show a typical 0-100% progress bar
int fileLength = connection.getContentLength();
// download the file
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory() + File.separator + "Download" + File.separator + "Design102.apk");
byte data[] = new byte[1024];
long total = 0;
int count;
while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
publishProgress((int) (total * 100 / fileLength));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
私有类下载文件扩展异步任务{
@凌驾
受保护的字符串背景(字符串…sUrl){
试一试{
URL=新URL(sUrl[0]);
URLConnection=url.openConnection();
connection.connect();
//这将非常有用,以便您可以显示典型的0-100%进度条
int fileLength=connection.getContentLength();
//下载该文件
InputStream输入=新的BufferedInputStream(url.openStream());
OutputStream output=新文件OutputStream(Environment.getExternalStorageDirectory()+File.separator+“Download”+File.separator+“Design102.apk”);
字节数据[]=新字节[1024];
长总计=0;
整数计数;
而((计数=输入。读取(数据))!=-1){
总数+=计数;
//发布进度。。。。
出版进度((整数)(总计*100/文件长度));
输出.写入(数据,0,计数);
}
output.flush();
output.close();
input.close();
}捕获(例外e){
e、 printStackTrace();
}
返回null;
}
}
下载相同的.apk文件后,为什么会出现“解析包时出现问题”错误?以下小修改修复了我的问题:
while ((count = input.read(data)) > 0)
如果卸载该应用程序,然后从市场上重新安装,会发生什么情况?它不在市场上。好的。下载完成后,当您试图安装它时,它是否已经安装?是的,我收到错误“解析包时出现问题”。但是,如果我通过USB传输相同的.apk文件而不是下载它,我可以安装它。在原始文件和下载的文件之间做一点区分。我有一种感觉,他们将不一样