2 回答
TA贡献2037条经验 获得超6个赞
SIGBUS 错误是操作系统抛出的未对齐数据错误。这基本上意味着数据未针对您的服务器运行的平台正确对齐。例如,一些 Unix 系统坚持所有数据都在 8 字节边界上对齐。看起来文件已成功下载,并且是对 java.util.zip.ZipFile::getEntry 的调用导致崩溃。如果您在该平台上启用核心转储,Java 开发人员应该能够确定错误是在初始 zip 文件的构建中还是在 zip 文件的读取中。
TA贡献1827条经验 获得超8个赞
我通过解决方法解决了这个问题。
URL downloadURL = new URL(versionCode[1]);
HttpURLConnection urlConnection = (HttpURLConnection) downloadURL.openConnection();
urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36");
InputStream inputStream = urlConnection.getInputStream();
Files.copy(inputStream, outputFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
inputStream.close();
添加回答
举报
