我有一个提取的.apk
文件。我试图
使用java.util.zip并对其进行签名,将其压缩回.apk
文件中。但是.apk
图标未显示在文件浏览器中。当我尝试安装它时,它还会一直显示解析错误。但是,当我使用另一个应用程序压缩它时,它可以正常运行。这是我正在使用的代码:
public static void compressFile(ArrayList<String> fileList,ArrayList<String> folderList,String output) throws IOException,FileNotFoundException {
ZipOutputStream zip = null;
FileOutputStream fileWriter = null;
File o = new File(output);
o.createTempFile("tmp","zip");
fileWriter = new FileOutputStream(o);
zip = new ZipOutputStream(fileWriter);
zip.setLevel(Deflater.BEST_COMPRESSION);
zip.setMethod(zip.DEFLATED);
for(int j=0;j<fileList.size();j++){
addFileToZip("",fileList.get(j),zip);
}
for(int j=0;j<fileList.size();j++){
addFolderToZip("",folderList.get(j),zip);
}
zip.flush();
zip.close();
fileWriter.close();
}
这段代码创建了zip
文件,我可以使用它了。但是即使我已经签名,该文件也不能安装为.apk
文件。有什么办法可以解决这个问题?