Android 5.0中的解析错误,在以前的版本中工作

Android 5.0中的解析错误,在以前的版本中工作,android,Android,我有一个apk可以从网站上下载。它在安卓4中运行良好,但当我用安卓5.0设备下载它时,我得到了一个典型的错误: 分析错误 分析包时出现问题 有人能解释一下正在发生的事情吗 获取apk文件的服务器代码(我不想将apk文件直接放在网站上下载): 谢谢大家 需要更多信息..它在模拟器中工作吗?你试过从SD卡侧面加载APK吗?@Ed_Fernando我将APK直接放在SD中,效果很好。但是当它从服务器上下载时,失败了。仅在Android 5中:(我不使用emulator,我会尝试并发表评论。谢谢你有下载

我有一个apk可以从网站上下载。它在安卓4中运行良好,但当我用安卓5.0设备下载它时,我得到了一个典型的错误:

分析错误 分析包时出现问题

有人能解释一下正在发生的事情吗

获取apk文件的服务器代码(我不想将apk文件直接放在网站上下载):


谢谢大家

需要更多信息..它在模拟器中工作吗?你试过从SD卡侧面加载APK吗?@Ed_Fernando我将APK直接放在SD中,效果很好。但是当它从服务器上下载时,失败了。仅在Android 5中:(我不使用emulator,我会尝试并发表评论。谢谢你有下载apk的代码吗?可能是缓冲区不够大。可能会导致此错误的其他一些问题:设备是否允许从未知来源安装?apk是否已签名?清单中是否有任何限制允许安装的设备的内容在…上
InputStream is = ApkDownloadController.class.getResourceAsStream("/apk/fileName.apk");
        try {

        response.addHeader("Content-Description", "File Transfer");
        response.addHeader("Content-Type", " application/vnd.android.package-archive");
        response.addHeader("Content-Disposition", "attachment; filename=apkName.apk");
        response.addHeader("Content-Transfer-Encoding", "binary");

        ServletOutputStream out = response.getOutputStream();
        byte[] outputByte = new byte[4096];
        // copy binary contect to output stream
        while (is.read(outputByte, 0, 4096) != -1) {
            out.write(outputByte, 0, 4096);
        }
        is.close();
        out.flush();
        out.close();