`
energykey
  • 浏览: 598139 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

纯java从apk文件里获取包名、版本号、icon

 
阅读更多

简洁:不超过5个java文件

依赖:仅依赖aapt.exe

支持:仅限windows

 

功能:用纯java获取apk文集里的包名,版本号,图标文件【可获取到流直接保存到文件系统】

原理:比较上一篇文章里通过反编译然后解析AndroidManifest.xml的方式,此种方式更加简单,通过模拟执行aapt截取cmd输出并整理获取信息。

 

附件为源码,test/demo 为演示,output下为编译后的jar文件。

 

参考开源项目:

http://code.google.com/p/cfuture09-apkutil/

本项目在该项目上进行了扩展,支持了图标的提取。

 

代码片段:

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();
		}
	}

 

分享到:
评论
7 楼 蚂蚁的戒指 2016-04-06  
非常感谢!
6 楼 energykey 2014-07-02  
zhihongzzh 写道
打成jar包就用不了了,没有将appt打包进去

aapt是可执行程序,没法打包的
5 楼 zhihongzzh 2014-04-20  
打成jar包就用不了了,没有将appt打包进去
4 楼 貌似掉线 2014-03-22  
seahlove 写道
hello,你那个exe, 我代码部署到linux上,能执行么?

linux应该也有相应的aapt的工具,不过不是exe格式的。
3 楼 hailong8706 2013-11-28  
楼主,万分感谢,这东西很好用!!
2 楼 seahlove 2013-09-17  
hello,你那个exe, 我代码部署到linux上,能执行么?
1 楼 wendellup_account1 2013-06-07  
已测试。可行。

相关推荐

    java获取apk包名、版本、权限、图标、启动图等信息

    要获取包名,可以使用`PackageInfo`类。以下是一个简单的示例代码片段: ```java String apkPath = "/path/to/your/apk/file.apk"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri....

    Apk包解析工具获取包名和版本等信息

    自己写了一个解析APK的工具,主要可以解析到APK包的版本名称,版本号,包名,ICON图片。有两个版本,分别支持32位系统和64位系统,前提是系统要有java环境。同时支持单个APK解析和多个APK解析。多个只需要指定文件夹...

    Java解析apk、ipa图标,包名,应用名称,版本号

    本文将深入探讨如何使用Java语言解析这两种包,提取其中的关键信息,如图标、包名、应用名称和版本号。 首先,我们需要了解APK和IPA的结构。APK文件本质上是一个ZIP压缩包,包含AndroidManifest.xml等元数据文件,...

    安卓Apk包名信息查看工具

    1. **显示包名**:用户只需将Apk文件拖放到工具界面,就能快速获取包名,无需使用ADB命令行工具或者反编译Apk。 2. **查看版本信息**:包括版本代码(Version Code)和版本名称(Version Name)。版本代码是整数值...

    Java读取apk版本信息和图标

    首先,我们要获取APK的版本信息,这包括版本号(versionCode)和版本名称(versionName)。这些信息存储在APK的AndroidManifest.xml文件中。以下是一个简单的Java方法,用于获取当前应用的版本信息: ```java ...

    解析apk的包名,版本等基础信息

    其中,AndroidManifest.xml是关键,它包含了应用的元数据,如包名、版本号、权限声明等。 **包名**: 在AndroidManifest.xml中,`<manifest>`标签的`package`属性就是应用的包名,它是每个应用的唯一标识,遵循Java...

    php 获取安卓apk信息

    当我们谈论“php 获取安卓apk信息”时,我们通常是指通过PHP脚本来解析和提取Android应用(APK)的元数据,如应用名称、版本号、权限、图标等。这个过程涉及到对APK文件的解包和分析,而不仅仅局限于读取简单的文本...

    获取APK信息工具

    同样,我们可以通过解析AndroidManifest.xml文件来获取包名。 APK的图标(Icon)是用户界面的一部分,是应用在设备上展示的视觉标识。提取图标通常涉及到读取APK的资源文件,尤其是res/drawable目录下的图片文件。...

    apkhelper.zip

    它能够帮助我们快速获取APK文件的关键信息,如外部版本号、内部版本号、包名、应用图标(icon)以及MD5哈希值等,这些信息对于开发者、测试人员和安全分析者来说具有重要的价值。现在,让我们一起深入了解APKHelper...

    获取本机已安装的apk信息

    - `versionCode`: 应用的版本号,是一个整数,每次更新递增。 示例代码如下: ```java for (packageInfo in packages) { String appName = packageInfo.applicationInfo.loadLabel(pm).toString() String ...

    获得获取手机中已安装apk文件信息

    ### 获取手机中已安装的APK文件信息 在Android开发中,经常需要获取手机中已安装的应用信息,例如为了提供给用户一个应用列表或者检查某些特定应用是否已经安装等场景。下面将详细介绍如何通过Android系统提供的`...

    获取所有apk信息

    当一个应用被安装到Android设备上时,系统会将其解压并存储在特定的目录下,并在系统中注册其相关信息,如包名、版本号、权限等。 要获取所有已安装APK的信息,我们主要通过以下步骤: 1. **请求权限**:在Android...

    GetAPKInfo_getApkInfo.jar_

    这个工具可能包含了一系列的类和方法,帮助开发者或普通用户获取关于APK文件的基本详情,如应用名、版本号、权限、图标、签名信息等。 首先,我们来了解一下APK文件的结构。APK文件实际上是一个被ZIP格式封装的文件...

    《 iOS-checkIPA 》ipa 文件信息检查工具

    4、读取ipa文件信息如:名称、包名、版本号、内部版本号、最小支持版本、证书有效期、文件路径、大小、md5等信息 IPA文件获取展示信息 CFBundleIconFiles icon CFBundleName | name CFBundleIdentifier | packge ...

    Android中获取应用程序(包)的信息 PackageManager的使用

    1. **查询应用信息**:通过调用`getInstalledPackages()`方法,可以获取所有已安装应用的详细信息,包括包名、应用名、版本号、权限等。 2. **获取应用元数据**:使用`getApplicationInfo()`方法,可以获取指定包名...

    Android中获取apk安装包信息的方法

    在Android开发中,有时我们需要获取已安装或未安装的APK安装包的详细信息,例如应用图标、包名、版本号、安装路径等。本文将详细介绍如何在Android中获取这些信息。 首先,我们来看一下标题中提到的主要方法,即...

    Android 高德地图入门demo,最新高德地图实现方法,附源码及apk

    implementation 'com.amap.api:maps:5.4.0' // 使用最新版本号 } ``` 完成依赖后,记得同步项目并确保下载成功。 接下来,你需要在AndroidManifest.xml中申请相应的权限,包括访问网络、读写外部存储以及获取地理...

    Axmlprinter2.rar

    这个工具可以帮助开发者轻松获取APK的基本信息,包括包名(package name)、版本号(version code和version name)以及应用的图标(icon)。在Android开发过程中,这些信息是至关重要的,因为它们定义了应用的身份和...

    Android获取Android系统程序信息.rar

    系统程序信息主要包括应用的包名、应用名称、版本号、图标、权限等。要获取这些信息,我们需要使用Android的ContentResolver和PackageManager类。 1. **ContentResolver**:这是一个接口,用于与Android内容提供者...

    Android menu菜单

    有了这些信息,你可以在`showAboutDialog()`方法中创建一个对话框,展示应用的版本名、版本号以及APK的相关信息,让用户更好地了解你的应用。 总结起来,Android中的Menu菜单是提供应用功能访问的关键元素,通过XML...

Global site tag (gtag.js) - Google Analytics