0

我正在尝试从应用程序下载安装.apk 文件。这里有3种不同的情况:

1.通过 adb 从 Eclipse 到平板电脑>运行应用程序>没有问题
2.从 Eclipse >签名和导出>通过 USB 将 .apk 文件传输到平板电脑>安装并运行应用程序>没有问题
3.从 Eclipse >签名和导出> (The与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;
    }
}

为什么我在下载同一个 .apk 文件后收到“解析包时出现问题”错误?

4

1 回答 1

1

以下小修改解决了我的问题:

       while ((count = input.read(data)) > 0) 
于 2013-06-26T06:42:21.033 回答