APK解析库

用于读取/解析 packageName。versionName。versionCode信息的简单类,以及已经编译的androidsdk文件中的更多内容。

通过解压 AndroidManifest.xml 文件并解码编译好的XML二进制文件来收集这里信息,就可以实现。

我一直在用它来实现各种android工件的自动版本管理。 为了希望其他人会发现它是有用的,我在 Apache源许可证 2.0下分享了这个代码库。

用法

已经将库的快照部署到以下 dependency 下的oss.sonatype.org。

net.erdfelt.android

apk-parser

1.1

一旦你拥有了依赖项( 不需要其他传递依赖项),你就可以使用下面的代码来获取所需的信息。package net.erdfelt.android.example;

import java.io.File;

import net.erdfelt.android.apk.AndroidApk;

public class ApkDump {

public static void main(String[] args) {

if(args.length <1) {

System.err.println("Usage: ApkDump [apkfile]");

System.exit(-1);

}

File apkfile = new File(args[0]);

if(!apkfile.exists()) {

System.err.println("Error: File Not Found:" + apkfile);

System.exit(-1);

}

try {

AndroidApk apk = new AndroidApk(apkfile);

System.out.println("APK:" + apkfile);

System.out.println(". packageName =" + apk.getPackageName());

System.out.println(". appVersion =" + apk.getAppVersion());

System.out.println(". appVersionCode =" + apk.getAppVersionCode());

} catch(Throwable t) {

t.printStackTrace(System.err);

}

}

}

也就是说,非常简单的部分是编译二进制xml文件,这应该容易扩展到in文件( 包括资源)。

android 获取apk资源,android-apk-parser相关推荐

  1. android 获取动画资源,Android动画资源(二)——补间动画资源

    Android animations.png Android动画资源系列文章:Android动画资源文件总结 Tween animation 用XML定义的动画,在图形上执行诸如旋转.透明度变化.移动 ...

  2. android获取颜色资源,Android中获取颜色的几种方法

    Android中获取颜色的几种方法: 通过android封装好的Color类中的常量 public static final int BLACK = 0xFF000000; public static ...

  3. Android如何打开未安装的apk,android获取未安装的APK文件的信息

    下面从一个未安装的android的apk文件获取apk信息 /** * 获取未安装的apk信息 * * @param ctx Context * @param apkPath apk路径,可以放在SD ...

  4. android获取安卓版本,Android开发:获取安卓App版本号的方法步骤

    今天国庆节,在这举国欢庆的日子里,发一篇博文留念一下这个特殊的日子,国庆依然奋战在工作一线. 在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版 ...

  5. kotlin android获取按钮,Kotlin Android按钮

    Android Button是用于在单击时执行事件的按钮.它是android.widget.Button类下的一个UI组件.要了解有关Android Button的更多信息, 请参阅Android B ...

  6. android获取图片缩略图,Android系获取图片和视频的缩略图

    获取手机里视频缩略图: public static Bitmap getVideoThumbnail(ContentResolver cr,Uri uri) { Bitmap bitmap = nul ...

  7. Android获取Linux图像信息,Android系统信息获取 之十三:Linux内核版本信息获取

    Android系统信息获取 之十三:Linux内核版本信息获取 Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android对应的Lin ...

  8. android 获取对话框对象,Android 基本Dialog和自定义Dialog

    Android 基本Dialog和自定义Dialog Dialog类是对话框的基类,但你应该避免直接实例化Dialog ,可以使用子类 1.AlertDialog 此对话框可以显示标题,最多三个按钮, ...

  9. android获取程序名称,Android获取应用程序名称(ApplicationName)示例

    MainActivity如下: 代码如下: package cn.testapplicationname; import android.os.Bundle; import android.widge ...

  10. android获取详细地址,Android获取当前子网掩码地址(亲测可用)

    Android 获取当前子网掩码地址(亲测可用),现在网上好多都是通过 DhcpInfo 来获取,但是通过这种方法有 Bug,很多人用 DhcpInfo 的方式都是获取不到,都是为 0.0.0.0. ...

最新文章

  1. Git提交代码时报 Please tell me who you are
  2. 使用开源CRM进行客户关系管理(2)
  3. OpenCASCADE:形状愈合之修复
  4. 第二节 -- python的基础语法
  5. 观察:谁能拯救视频平台的高昂带宽成本?
  6. 安卓使用ImageView显示OpenCV-Mat
  7. 链队列的基本运算java_链式队列基本操作的实现问题
  8. C#复习笔记(3)--C#2:解决C#1的问题(可空值类型)
  9. lintcode 最长上升连续子序列 II(二维最长上升连续序列)
  10. 【文献阅读】ResNet-Deep Residual Learning for Image Recognition--CVPR--2016
  11. 查询各个商品分类中各有多少商品的SQL语句
  12. RocketMQ 部署不当导致磁盘空间不释放
  13. 算法(一):二分查找
  14. mysql 内连接与外连接的区别
  15. 并发编程-线程卡死问题实践
  16. 单片机c51语言实训总结,单片机实训报告
  17. mysql调整specified key_MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法...
  18. FortiGate常用命令
  19. win10多任务处理快捷键
  20. linux备份软件rear,linux系统 备份与还原

热门文章

  1. java map是大括号_Java8如何基于flatMap处理异常函数
  2. @RequestParam注解使用
  3. 使用IntelliJ IDEA 2019.3.2 x64 远程连接oracle数据库
  4. Mybatisplus代码生成 之SpringBoot适配MYSQL和ORACLE
  5. Excel VBA 处理图形图表详解
  6. 小程序开发(6)-之自定义导航栏
  7. 学生成绩管理系统java+mysql+swing入门级项目开发
  8. ios键盘done中文_IOS_IOS关闭键盘的方法,首先输入完成后按键盘上的done - phpStudy...
  9. linux下远程登录如何退出,Ubuntu 中rdesktop如何切换和退出远程桌面
  10. jq之mouseleave()