打包工具流程:
1.在eclipse中到处未签名的apk
2.用java将其解压
3.修改一些文件,
4.用java压缩成apk
5.对apk签名
整个流程在压缩这一环出现了问题,java将文件压缩成apk时在每个文件下多了一个无名且文件大小为0的文件,签名安装后,打开程序报xml文件找不到。
试过手动删除无效文件再签名,一切OK
压缩方法如下:
//对文件进行压缩
public static void zip(String sourceDir, String zipFile) {
OutputStream os;
try {
os = new FileOutputStream(zipFile);
BufferedOutputStream bos = new BufferedOutputStream(os);
ZipOutputStream zos = new ZipOutputStream(bos);
File file = new File(sourceDir);
String basePath = null;
if (file.isDirectory()) {
basePath = file.getPath();
} else {
basePath = file.getParent();
}
zipFile(file, basePath, zos);
zos.closeEntry();
zos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(".......文件压缩成功");
FileUtil.deleteDirectory(sourceDir);
}
private static void zipFile(File source, String basePath,
ZipOutputStream zos) {
File[] files = new File[0];
if (source.isDirectory()) {
files = source.listFiles();
} else {
files = new File[1];
files[0] = source;
}
String pathName;
byte[] buf = new byte[BUFFER];
int length = 0;
try {
for (File file : files) {
if (file.isDirectory()) {
pathName = file.getPath().substring(basePath.length() + 1)+ "\\";
zos.putNextEntry(new ZipEntry(pathName));
zipFile(file, basePath, zos);
} else {
pathName = file.getPath().substring(basePath.length() + 1);
InputStream is = new
[/size] FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(is);
zos.putNextEntry(new ZipEntry(pathName));
while ((length = bis.read(buf)) > 0) {
zos.write(buf, 0, length);
}
is.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
希望大神们看下什么问题导致的[/size]
分享到:
相关推荐
uniapp打包成apk ---解压资源sdk
APK反組譯工具-APK-Multi-Toolv1.0.11
dex2jar-2.0 android 反编译工具---将apk反编译成java源代码(classes.dex转化成jar文件) 解压即可使用
银河麒麟 Linux系统 安卓程序 apk安装器
java版的对apk进行打包的源码,需要的可以研究下
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...
apk-build node 一款安卓打包apk的工具 how to install 打开你的终端Terminal 输入npm -v查看是否安装npm 如果没有安装,请到nodejs官网进行安装 npm安装完成以后,终端运行npm install -g apk-build 终端运行...
onekey-decompile-apk-1.0.1.zip apk反编译工具包
反编译工具合集,apktool_2.0.2、Smali2Java、dex2jar、jd-gui-0.3.5.windows-apk,内包括基本使用方法与资源博客,高版本apktool可解决反编译过程中出现的常见错误。
安卓编译工具framework-res.apk
该文件为apk文件解包打包工具。将所需解包xxx.apk文件复制到压缩包解压后apktool.bat所在目录,打开cmd.exe定位到该目录,输入“apktool d xxx.apk”,解包后文件在该目录中xxx文件夹中;输入“apktool b xxx“,...
使用android stutio开发移动应用,打包apk时需要的key生成文件。密码android。
< artifactId>apk-parser < version>2.6.10 从2.0版开始,apk解析器需要Java7。支持Java 6的最新版本是1.7.4。 用法 普通的方法是使用ApkFile类,该类包含获取AndroidManifest.xml,APK信息等的便捷方法。不再...
wolframalpha-mod-apk-v1-4-15-2020052001-2020052001.apk
步骤:首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。 在命令行下定位到dex2jar.bat所在...
APK瘦身优化检测工具-Matrix ApkChecker 使用(csdn)————程序
Get apk-parser Usage 1. Apk info 2. Get binary xml and manifest xml file 3. Get dex classes 4. Get Apk Sign info 5. Locales Open Issue Features Retrieve apk meta info, such as title, icon, package...
885962797659856打包插件-4.1.1 Alpha-release.apk
HTML一键打包APK工具可以把网址或者本地HTML一键打包成安卓应用APK文件,无需编写任何代码,也无需配置安卓开发环境,支持在最新的安卓设备上安装运行。最新版本1.5.9解决APK报毒问题,内置独立签名打包证书,并支持...
本代码实例演示如何用java语言实现apk文件的压缩和解压缩。