java从apk文件获取包名、版本号、icon
依赖:仅依赖aapt.exe
支持:仅限windows
功能:用纯java获取apk文集里的包名,版本号,图标文件【可获取到流直接保存到文件系统】
原理:比较上一篇文章里通过反编译然后解析AndroidManifest.xml的方式,此种方式更加简单,通过模拟执行aapt截取cmd输出并整理获取信息。
public static void main(String[] args) {
        try {
            String apkpath = "D:\\DefaultApkTempSaveFolder\\3G安卓市场\\com.jiubang.market.apk";
            if (args.length > 0) {
                apkpath = args[0];
            }
            ApkInfo apkInfo = new ApkUtil().getApkInfo(apkpath);
            // 打印获取到的信息
            System.out.println(apkInfo);
            // 获取Icon并保存到指定位置
            IconUtil.extractFileFromApk(apkpath, apkInfo.getApplicationIcon(), "D:\\DefaultApkTempSaveFolder\\3G安卓市场\\crawler\\icon.png");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }  
apkUtil在我的个人文件里。
java从apk文件获取包名、版本号、icon的更多相关文章
- Android Apk获取包名和Activity名称
		一.使用aapt(Android Asset Packaging Tool)工具获取: 1.配置Android环境: a.添加build-tools/android路径到系统环境变量的中Path中,注 ... 
- 二.第一个自动化demo,打开APP-如何获取包名和activity。(真机)
		环境配置成功后,我们就可以进行第一个自动化测试了.用真机则不需要安装安卓模拟器.以一个简单的打开APP为例. 一.获取包名和activtity 启动一个app,我们需要知道它的平台.版本号. ... 
- Appium Android 获取包名和 Activity 的几种方法 (转)
		本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP.以下方法主要来源于网络和社区同学的贡献,特此感谢! 1. 方法一: pm list package查看包名 adb ... 
- 手机App测试如何获取包名的入口【两种方式】
		在进行手机APP测试的时候经常要获取包名.那么何为包名呢?简单来说其实就是手机APP的安装apk文件的名称,每个手机APP(软件)的包名都是唯一的. 那么我们怎样来获取包名以及包名的入口呢? 方法一: ... 
- Monkey通过安装包获取包名
		在monkey命令中,包名常作为一个参数.但我们经常知道apk文件,却不知道包名. 如何获取包名呢? 方法一:AAPT 在SDK的build-tools目录下,aapt工具可以查看,创建,更新zip格 ... 
- apk签名、包名
		//通过各手机管理软件,如如360.豌豆荚等查看 //使用命令行,可以查看到permission.packagename.title.versionCode等 aapt dump badging ~/ ... 
- Android 编程下如何修改 jar 文件的包名
		首先我们要说说为什么要修改 jar 文件的包名,jar 包我们会非常高频率的使用,尤其是用一些其他三方库的时候,往往把 java 代码打包成 jar 文件,方便项目依赖使用.笔者在开发过程中遇到过一些 ... 
- 【Monkey】Monkey获取包名的方式
		获取包名的方式: 1.有源码:查看AndroidManifest.xml 2.只有apk: 2.1 aapt dump xmltree ColaBox.apk AndroidManifest.xml ... 
- APP自动化测试获取包名的两种方法
		获取包名的两种方法: 一.通过aapt获取 1.进入aapt.exe所在路径 2.在地址栏输入cmd回车,打开dos命令窗口. 3.在命令窗口输入 aapt dump badging 拖入apk 回车 ... 
随机推荐
- linux之awk手册
			awk 手册 原文 Table of Contents 1. awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项 3. 模式和操作 3.1. 模式 3.2 ... 
- CODEVS【1380】没有上司的舞会
			题目描述 Description Ural大学有N个职员,编号为1~N.他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.每个职员有一个快乐指数.现在有个周年庆宴会 ... 
- java中的BitSet
			(1)BitSet类 大小可动态改变, 取值为true或false的位集合.用于表示一组布尔标志. 此类实现了一个按需增长的位向量.位 set 的每个组件都有一个 boolean 值.用非负的 ... 
- 学习good taste代码
			Linux 的创始人,在采访中提及了关于代码的 “good taste”.Linus Torvalds 展示了一一些代码: void remove_list_entry(entry){ prev = ... 
- linux下编译安装gcc5.1
			一.下载源代码:ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-5.1.0/gcc-5.1.0.tar.bz ... 
- Qualcomm 專業名詞
			APSS Application processor subsystem software BAM Bus Access Manager blsp BAM low speed peripheral T ... 
- android的动态代码
			1,Android代码设置Shape,corners,Gradient (http://blog.csdn.net/houshunwei/article/details/17392409) int ... 
- luogu P2744 [USACO5.3]量取牛奶Milk Measuring
			题目描述 农夫约翰要量取 Q(1 <= Q <= 20,000)夸脱(夸脱,quarts,容积单位——译者注) 他的最好的牛奶,并把它装入一个大瓶子中卖出.消费者要多少,他就给多少,从不有 ... 
- Spring Cloud学习总结(非原创)
			文章大纲 一.课程内容总结二.课程学习地址三.学习资料下载四.参考文章 一.课程内容总结 二.课程学习地址 第一天:https://www.jianshu.com/p/a086421f4bfd第二 ... 
- 【ActiveMQ】消息生产者自动注入报错:Could not autowire. No beans of 'JmsMessagingTemplate' type found
			使用ActiveMQ过程中,定义消息生产者: package com.sxd.jms.producer; import org.springframework.beans.factory.annota ... 
