Android中获取apk文件包名,名称,图标等信息

最近工作上遇到个需求,需要获取apk文件的包名和图标等信息,本来想着这回挺难弄得,想着得解压apk然后读取Manifest的编码后的信息。但是后来偶然看到ES文件浏览器可以显示apk的名称和图标,于是就上网搜了一下。果然,这次又犯了井底之蛙和想当然的毛病,原来这个功能PacakgeManager已经提供了。我们要做的仅仅就是调用一下API,So Easy.

不多说了上代码:

PackageManager pm = getPackageManager();
PackageInfo pi = pm.getPackageArchiveInfo("/sdcard/xxx.apk", 0);
ApplicationInfo applicationInfo = pi.applicationInfo;
applicationInfo.sourceDir = "/sdcard/xxx.apk";
applicationInfo.publicSourceDir = 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取服务器上的APK版本,你需要使用一个网络请求库(如OkHttp)来从服务器获取APK的相关信息(如版本号、包名等)。获取APK图标需要使用Android的PackageManager类,而且只能在APK安装后才能获取。以下是获取未安装APK信息的方法: 1. 获取APK文件的路径 可以通过网络请求库从服务器获取APK文件的URL,然后使用URL类获取APK文件的InputStream流。然后,将InputStream流写入本地文件,并且获取文件的路径。 2. 获取APK的PackageInfo 获取未安装APK的PackageInfo需要使用PackageManager类。可以使用以下代码: ``` PackageManager pm = context.getPackageManager(); PackageInfo info = pm.getPackageArchiveInfo(apkFilePath, 0); ``` 其apkFilePath是APK文件的路径。 3. 获取APK图标 获取未安装APK图标需要使用PackageManager类。可以使用以下代码: ``` Drawable icon = pm.getApplicationIcon(info.applicationInfo); ``` 其,info是通过PackageManager获取的PackageInfo对象。 4. 获取APK的版本号和包名 获取未安装APK的版本号和包名也需要使用PackageManager类。可以使用以下代码: ``` String packageName = info.packageName; String versionName = info.versionName; int versionCode = info.versionCode; ``` 其,info是通过PackageManager获取的PackageInfo对象。 注意:以上代码需要在Android的主线程执行。如果需要在子线程执行,可以使用Handler或AsyncTask等方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值