在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:hsiafan/apk-parser开源软件地址:https://github.com/hsiafan/apk-parser开源编程语言:Java 100.0%开源软件介绍:APK parser lib, for decoding binary XML files, getting APK meta info. Table of ContentsFeatures
Get APK-parserGet APK-parser from the Maven Central Reposotiry: <dependency>
<groupId>net.dongliu</groupId>
<artifactId>apk-parser</artifactId>
<version>2.6.10</version>
</dependency> From version 2.0, apk-parser requires Java 7. The last version to support Java 6 is 1.7.4. UsageThe ordinary way is using the ApkFile class, which contains convenient methods to get AndroidManifest.xml, APK info, etc. The ApkFile need to be closed when no longer used. There is also a ByteArrayApkFile class for reading APK files from byte array. 1. APK InfoApkMeta contains name(label), packageName, version, SDK, used features, etc. try (ApkFile apkFile = new ApkFile(new File(filePath))) {
ApkMeta apkMeta = apkFile.getApkMeta();
System.out.println(apkMeta.getLabel());
System.out.println(apkMeta.getPackageName());
System.out.println(apkMeta.getVersionCode());
for (UseFeature feature : apkMeta.getUsesFeatures()) {
System.out.println(feature.getName());
}
} 2. Get Binary XML and Manifest XML Filestry (ApkFile apkFile = new ApkFile(new File(filePath))) {
String manifestXml = apkFile.getManifestXml();
String xml = apkFile.transBinaryXml("res/menu/main.xml");
} 3. Get DEX Classestry(ApkFile apkFile = new ApkFile(new File(filePath))) {
DexClass[] classes = apkFile.getDexClasses();
for (DexClass dexClass : classes) {
System.out.println(dexClass);
}
} 4. Get APK Signing InfoGet the APK signer certificate info and other messages, using: try(ApkFile apkFile = new ApkFile(new File(filePath))) {
List<ApkSigner> signers = apkFile.getApkSingers(); // apk v1 signers
List<ApkV2Signer> v2signers = apkFile.getApkV2Singers(); // apk v2 signers
} 5. LocalesAn APK may have different info (title, icon, etc.) for different regions and languages——or we can call it a "locale".
If a locale is not set, the default "en_US" locale ( try (ApkFile apkFile = new ApkFile(new File(filePath))) {
apkFile.setPreferredLocale(Locale.SIMPLIFIED_CHINESE);
ApkMeta apkMeta = apkFile.getApkMeta();
} APK-parser will find the best matching languages for the locale you specified. If locale is set to null, ApkFile will not translate the resource tag, and instead just give the resource ID. For example, the title will be something like '@string/app_name' instead of the real name. Reporting IssuesIf this parser has any problem with a specific APK, open a new issue, with a link to download the APK file. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论