apkUtil是一个用来解析apk安装包的工具,通过它可以获取一个安装包的图标、程序名、所需android平台,权限等信息,并将其转换为java对象。该工具依赖于aapt工具,目前仅支持在windows平台上运行。 程序在运行时,会创建一个进程,用于运行aapt。默认的aapt的路径为jar包相对目录的lib/aapt。如果路径更改,请使用setAaptPath方法。
新的版本使用方法如下:
try { String demo = "E:/androidApk/2012/05/百宝工具箱/1.0/signed/Toolbox-360.apk"; if (args.length > 0) { demo = args[0]; } ApkInfo apkInfo = new ApkUtil().getApkInfo(demo); System.out.println(apkInfo); } catch (Exception e) { e.printStackTrace(); }
输出结果如下:
ApkInfo [versionCode=1, versionName=1.0, packageName=cfuture.xiaozhi.toolbox, minSdkVersion=null, usesPermissions=[android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_NETWORK_STATE, android.permission.ACCESS_WIFI_STATE, android.permission.INTERNET, android.permission.MOUNT_UNMOUNT_FILESYSTEMS, android.permission.READ_LOGS, android.permission.READ_PHONE_STATE, android.permission.WRITE_EXTERNAL_STORAGE, android.permission.READ_EXTERNAL_STORAGE], sdkVersion=4, targetSdkVersion=null, applicationLable=百宝工具箱, applicationIcons={application-icon-240=res/drawable-hdpi/toolbox.png, application-icon-160=res/drawable-mdpi/toolbox.png, application-icon-120=res/drawable-ldpi/toolbox.png}, applicationIcon=res/drawable-mdpi/toolbox.png, impliedFeatures=[Feature [feature=android.hardware.location, implied=requested a location access permission], Feature [feature=android.hardware.location.gps, implied=requested android.permission.ACCESS_FINE_LOCATION permission], Feature [feature=android.hardware.wifi, implied=requested android.permission.ACCESS_WIFI_STATE, android.permission.CHANGE_WIFI_STATE, or android.permission.CHANGE_WIFI_MULTICAST_STATE permission], Feature [feature=android.hardware.touchscreen, implied=assumed you require a touch screen unless explicitly made optional], Feature [feature=android.hardware.screen.landscape, implied=one or more activities have specified a landscape orientation], Feature [feature=android.hardware.screen.portrait, implied=one or more activities have specified a portrait orientation]], features=[android.hardware.location, android.hardware.location.gps, android.hardware.wifi, android.hardware.touchscreen, android.hardware.screen.landscape, android.hardware.screen.portrait]]
注意:以前的apkUtil 0.x版本已经弃用,原因是其效率低下,且获得的信息较少。
public class ApkUtils { /** 安装一个apk文件 */ public static void install(Context context, File uriFile) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.
ApkUtil/ ApkUtil/.classpath ApkUtil/.project ApkUtil/.settings/ ApkUtil/.settings/org.eclipse.jdt.core.prefs ApkUtil/bin/ ApkUtil/bin/Demo.class ApkUtil/bin/com/ ApkUtil/bin/com/sinaapp/ ApkUtil/bin/c
一、 读取文件的信息 和众多的项目一样,在苹果和安卓的项目中,也有很多的版本信息,那么这些都存储在哪里了呢?在每个我们打好的包里面,其实都有一个专门标注版本信息和版权,描述的文件,如果我们用winrar或者其他解压缩软件把安装包解压缩之后,我们可以得到里面的很多信息,然后一般我们都会在软件的最外层发现一个.xml的文件来看到我们的版本信息(一般都有加密)。 所以我们获得版本信息的来源就是要从安装包
经常需要程序去读取APK的信息,网上很多介绍类似于Zip解压缩之类的方法去获取Androidmanifest.xml里面的信息,但是这种方法并不可取,因为里面取到的有可能是“引用ID”。我们可以用ApkUtil工具类。 1.下载ApkUtil和aapt工具 ApkUtil下载地址列表 https://code.google.com/p/cfuture09-apkutil/downloads/lis
OpenResty 官方 APK 包仓库提供下面的 apk 包 (适用于 Alpine 系统)。 openresty 这是用于核心 OpenResty 服务的生产版本。 这个包注册在 /usr/bin/openresty, 它是 OpenResty 的 nginx 可执行文件 /usr/local/openresty/nginx/sbin/nginx 的符号链接。 默认的,你应该能在你的 PATH
我试图将我的应用程序安装到Android L Preview Intel Atom虚拟设备中,它失败了,错误: install_failed_no_matching_abis
本文向大家介绍php自定义apk安装包实例,包括了php自定义apk安装包实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php自定义apk安装包的方法,分享给大家供大家参考。具体实现方法如下: 众所周知,apk格式安装文件是android智能系统的安装文件,下面我们来看一个利用php实现自定义apk安装包实例。 一、需求: 需要实现对产品进行一次推荐好友安装的活动,每个会员下载自己的
我是android开发新手。我成功生成了签名apk。它成功安装在android更高版本中。但是当我尝试在android kitkat版本中安装时,一旦我们单击“安装”按钮,它就会失败而没有任何错误消息。通过命令提示符尝试使用adb时,应用程序成功安装,安装调试也正常。“Kitkat中的直接apk安装失败”请帮助
我创建了一个基本的Android应用程序作为实习。创建了它的APK并尝试通过USB电缆将其连接到笔记本电脑并用作模拟器在我的手机上运行,它运行良好。我的Android操作系统版本是Oreo,我尝试在Lollypop上做同样的事情,但它仍然在执行。 当我通过电子邮件发送APK并尝试直接安装在设备上时,问题就来了,它给了我这个错误 解析包时出现问题 我不知道发生了什么,因为它是从Android Stu
在前面的文章中,我们接触过很多个工厂对象,比如:SqlSessionFactory、ObjectFactory和ReflectoryFactory。 ObjectWrapperFactory也是一个工厂对象,他用于将普通的JAVA对象包装成ObjectWrapper对象。 在这里我将ObjectWrapper叫做对象包装器,因为ObjectWrapper对象的作用就是包装对象后为其提供统一的属性操