From 214618b5531bedc041f48628f8e405fe9ab7de41 Mon Sep 17 00:00:00 2001 From: Dong Liu Date: Sat, 25 Apr 2015 15:47:50 +0800 Subject: [PATCH] add Main --- .gitignore | 1 - pom.xml | 18 ++++++-- .../java/net/dongliu/apk/parser/Main.java | 28 +++++++++++ .../apk/parser/bean/AttributeValues.java | 2 +- .../apk/parser/bean/CertificateMeta.java | 7 ++- .../net/dongliu/apk/parser/bean/Icon.java | 2 +- .../dongliu/apk/parser/bean/Permission.java | 2 +- .../apk/parser/parser/ApkMetaTranslator.java | 2 +- .../net/dongliu/apk/parser/utils/Buffers.java | 2 +- .../apk/parser/utils/ResourceFetcher.java | 2 +- .../net/dongliu/apk/parser/utils/Utils.java | 46 +------------------ 11 files changed, 53 insertions(+), 59 deletions(-) create mode 100644 src/main/java/net/dongliu/apk/parser/Main.java diff --git a/.gitignore b/.gitignore index 690bbd2..4bfa550 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ .idea/ *.iml target/ -TestMain.java diff --git a/pom.xml b/pom.xml index d980059..f809179 100644 --- a/pom.xml +++ b/pom.xml @@ -18,8 +18,8 @@ xiaxiaocao - Dong Liu - dongliu@live.cn + Liu Dong + im@dongliu.net @@ -100,8 +100,20 @@ maven-release-plugin 2.5 + + maven-assembly-plugin + + + + net.dongliu.apk.parser.Main + + + + jar-with-dependencies + + + - diff --git a/src/main/java/net/dongliu/apk/parser/Main.java b/src/main/java/net/dongliu/apk/parser/Main.java new file mode 100644 index 0000000..d9fb82b --- /dev/null +++ b/src/main/java/net/dongliu/apk/parser/Main.java @@ -0,0 +1,28 @@ +package net.dongliu.apk.parser; + +import net.dongliu.apk.parser.bean.CertificateMeta; + +import java.io.IOException; +import java.security.cert.CertificateException; +import java.util.List; +import java.util.Locale; + +/** + * Main method for parser apk + * + * @author Liu Dong {@literal } + */ +public class Main { + public static void main(String[] args) throws IOException, CertificateException { + String apkFile = args[0]; + try (ApkParser parser = new ApkParser(apkFile)) { + parser.setPreferredLocale(Locale.SIMPLIFIED_CHINESE); + System.out.println(parser.getApkMeta()); + List certList = parser.getCertificateMetaList(); + for (CertificateMeta certificateMeta : certList) { + System.out.println(certificateMeta); + } + } + + } +} diff --git a/src/main/java/net/dongliu/apk/parser/bean/AttributeValues.java b/src/main/java/net/dongliu/apk/parser/bean/AttributeValues.java index b2d0d6e..f039f0f 100644 --- a/src/main/java/net/dongliu/apk/parser/bean/AttributeValues.java +++ b/src/main/java/net/dongliu/apk/parser/bean/AttributeValues.java @@ -8,7 +8,7 @@ /** * attribute value constant * - * @author Dong Liu + * @author Liu Dong */ public class AttributeValues { diff --git a/src/main/java/net/dongliu/apk/parser/bean/CertificateMeta.java b/src/main/java/net/dongliu/apk/parser/bean/CertificateMeta.java index def8ffe..4f989db 100644 --- a/src/main/java/net/dongliu/apk/parser/bean/CertificateMeta.java +++ b/src/main/java/net/dongliu/apk/parser/bean/CertificateMeta.java @@ -3,7 +3,7 @@ import java.util.Date; /** - * basic certificate infos. + * basic certificate info. * * @author dongliu */ @@ -108,9 +108,8 @@ public void setSignAlgorithmOID(String signAlgorithmOID) { @Override public String toString() { - return "sign algorithm:\t" + signAlgorithm + "\n" + - "startDate:\t" + startDate + "\n" + - "endDate:\t" + endDate + "\n" + + return "signAlgorithm:\t" + signAlgorithm + '\n' + + "certBase64Md5:\t" + certBase64Md5 + '\n' + "certMd5:\t" + certMd5; } } diff --git a/src/main/java/net/dongliu/apk/parser/bean/Icon.java b/src/main/java/net/dongliu/apk/parser/bean/Icon.java index 6f7f16f..65317bc 100644 --- a/src/main/java/net/dongliu/apk/parser/bean/Icon.java +++ b/src/main/java/net/dongliu/apk/parser/bean/Icon.java @@ -5,7 +5,7 @@ /** * The apk icon file path, and data * - * @author Dong Liu + * @author Liu Dong */ public class Icon { diff --git a/src/main/java/net/dongliu/apk/parser/bean/Permission.java b/src/main/java/net/dongliu/apk/parser/bean/Permission.java index 8994683..4a30195 100644 --- a/src/main/java/net/dongliu/apk/parser/bean/Permission.java +++ b/src/main/java/net/dongliu/apk/parser/bean/Permission.java @@ -3,7 +3,7 @@ /** * permission provided by the app * - * @author Dong Liu + * @author Liu Dong */ public class Permission { private String name; diff --git a/src/main/java/net/dongliu/apk/parser/parser/ApkMetaTranslator.java b/src/main/java/net/dongliu/apk/parser/parser/ApkMetaTranslator.java index 6ec343a..f048ae5 100644 --- a/src/main/java/net/dongliu/apk/parser/parser/ApkMetaTranslator.java +++ b/src/main/java/net/dongliu/apk/parser/parser/ApkMetaTranslator.java @@ -9,7 +9,7 @@ /** * trans binary xml to text * - * @author Dong Liu dongliu@live.cn + * @author Liu Dong im@dongliu.net */ public class ApkMetaTranslator implements XmlStreamer { private String[] tagStack = new String[100]; diff --git a/src/main/java/net/dongliu/apk/parser/utils/Buffers.java b/src/main/java/net/dongliu/apk/parser/utils/Buffers.java index 34b7a26..773cda7 100644 --- a/src/main/java/net/dongliu/apk/parser/utils/Buffers.java +++ b/src/main/java/net/dongliu/apk/parser/utils/Buffers.java @@ -5,7 +5,7 @@ /** * utils method for byte buffer * - * @author Dong Liu dongliu@live.cn + * @author Liu Dong im@dongliu.net */ public class Buffers { diff --git a/src/main/java/net/dongliu/apk/parser/utils/ResourceFetcher.java b/src/main/java/net/dongliu/apk/parser/utils/ResourceFetcher.java index f1acb10..018c031 100644 --- a/src/main/java/net/dongliu/apk/parser/utils/ResourceFetcher.java +++ b/src/main/java/net/dongliu/apk/parser/utils/ResourceFetcher.java @@ -24,7 +24,7 @@ /** * fetch dependency resource file from android source * - * @author Dong Liu dongliu@live.cn + * @author Liu Dong im@dongliu.net */ public class ResourceFetcher { diff --git a/src/main/java/net/dongliu/apk/parser/utils/Utils.java b/src/main/java/net/dongliu/apk/parser/utils/Utils.java index c6acce5..dbdab02 100644 --- a/src/main/java/net/dongliu/apk/parser/utils/Utils.java +++ b/src/main/java/net/dongliu/apk/parser/utils/Utils.java @@ -13,62 +13,18 @@ public class Utils { public static byte[] toByteArray(InputStream in) throws IOException { try { byte[] buf = new byte[1024]; - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - try { + try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) { int len; while ((len = in.read(buf)) != -1) { bos.write(buf, 0, len); } return bos.toByteArray(); - } finally { - bos.close(); } } finally { in.close(); } } - public static String toString(InputStream in) throws IOException { - return new String(toByteArray(in), "UTF-8"); - } - - public static String toString(InputStream in, String encoding) throws IOException { - return new String(toByteArray(in), encoding); - } - - public static long toLong(String value) { - try { - return Long.valueOf(value); - } catch (Exception e) { - return 0; - } - } - - public static int toInt(String value) { - try { - return Integer.valueOf(value); - } catch (Exception e) { - return 0; - } - } - - public static String between(String text, String begin, String end) { - if (text == null) { - return null; - } - int idx = text.indexOf(begin); - if (idx < 0) { - idx = 0; - } else { - idx = idx + begin.length(); - } - int eidx = text.indexOf(end, idx); - if (eidx < 0) { - eidx = 0; - } - return text.substring(idx, eidx); - } - public static ZipArchiveEntry getEntry(ZipFile zf, String path) { Enumeration enu = zf.getEntries(); while (enu.hasMoreElements()) {