版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/82226830
//获取apk大小public static String getPkgSize(final Context context, String pkgName) throws NoSuchMethodException,InvocationTargetException, IllegalAccessException {// getPackageSizeInfo是PackageManager中的一个private方法,所以需要通过反射的机制来调用Method method = PackageManager.class.getMethod("getPackageSizeInfo",String.class, IPackageStatsObserver.class);// 调用 getPackageSizeInfo 方法,需要两个参数:1、需要检测的应用包名;2、回调method.invoke(context.getPackageManager(), pkgName,new IPackageStatsObserver.Stub() {@Overridepublic void onGetStatsCompleted(PackageStats pStats, boolean succeeded) throws RemoteException {// 子线程中默认无法处理消息循环,自然也就不能显示Toast,所以需要手动Looper一下Looper.prepare();// 从pStats中提取各个所需数据
//                        Toast.makeText(context, "缓存大小=" + Formatter.formatFileSize(context, pStats.cacheSize) +
//                                        "\n数据大小=" + Formatter.formatFileSize(context, pStats.dataSize) +
//                                        "\n程序大小=" + Formatter.formatFileSize(context, pStats.codeSize),
//                                Toast.LENGTH_LONG).show();// 遍历一次消息队列,弹出Toastlong totalsize1 = pStats.cacheSize + pStats.dataSize + pStats.codeSize;DecimalFormat df=new DecimalFormat("0.00");totalsize = df.format(Double.valueOf(totalsize1 /1024/ 1024D));Looper.loop();}});return totalsize;}

添加权限:

<uses-permission android:name="android.permission.GET_PACKAGE_SIZE"/>

目录结构为上图:

1、创建包:android.content.pm

2、创建两个AIDL文件IPackageStatsObserver.aidl 、PackageStats.aidl

AIDL下载地址:https://download.csdn.net/download/chaoyu168/10636731

Android--获取apk大小相关推荐

  1. android 获取apk的版本信息

    今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /*** 得到当前应用版本名称的方法* * @param c ...

  2. android 获取apk里的xml文件

    今天,简单讲讲如何获取  apk里的xml文件. 之前的博客,我讲了如何获取apk的图片资源和反编译获取代码资源,但是如何获取XML资源呢? 一.回顾图片资源的获取: 首先准备一个apk,嘿嘿就是 ...

  3. android 获取apk中的素材图片

    昨天,当我制作app的登录界面时,需要部分图片素材,可是我的公司没有UI工程师来为我制作图片资源,怎么办呢?看到别的app的图片很适合我的app所需图片,老板说直接可以直接从别的app获取图片资源,我 ...

  4. android获取apk版本号,android 获取apk的版本信息

    释放双眼,带上耳机,听听看~! 今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /** * 得到当前应用版本 ...

  5. android apk的md5值,android 获取apk md5值

    android 获取apk md5值 1, 获取 Signature 2.   根据Signature计算md5和sha1信息,获取签名公钥信息 TextView text = null; Strin ...

  6. android获取apk名称_apk瘦身;如何缩小体积呢?这篇文章来教你

    转载请声明出处! 前言 我们完成一个app后,都需要生成一个apk,然后上线,而apk的大小也一定程度的影响了用户是否愿意下载你的这个app,所以也就有了apk瘦身这门艺术. 目录 apk的结构图片压 ...

  7. android 获取视频大小,Android 获取视频缩略图(获取视频每帧数据)的优化方案

    速度对比 左边的图片是通过方式1 右边的图片是通过方式2 speed.gif 速度优化,效果拔群. 在缩小2倍的Bitmap输出情况下 使用MediaMetadataRetriever 抽帧的速度,每 ...

  8. android获取apk名称_安卓逆向——APK安装流程

    制丨文生 整理丨阿星 很多学习安卓逆向的朋友大多都会卡在安卓apk上,今天小生就来给大家讲解一下,安装apk的流程,希望能帮助到大家. 安装方式: ⑴系统程序安装 ⑵通过Android市场安装 ⑶手机 ...

  9. android 获取apk资源,android-apk-parser

    APK解析库 用于读取/解析 packageName.versionName.versionCode信息的简单类,以及已经编译的androidsdk文件中的更多内容. 通过解压 AndroidMani ...

  10. android获取apk名称_apk是什么文件

    很多人在手机上安装软件时会发现有一个叫apk的文件,这就让人产生疑惑了,apk是什么文件,apk文件怎么打开呢?下面就个大家介绍一下吧. apk是什么文件 APK是Android Package的缩写 ...

最新文章

  1. mysql sqlstate 28000_mysql ERROR 1045 (28000): 错误解决办法
  2. 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 find 方法遍历 map 集合 | 代码示例 )
  3. 从CES 2017看今年智能汽车发展趋势之一:车联网有望率先实现
  4. QT绘制堆叠水平条形图
  5. 16*64点阵屏的c语言程序,16*64点阵程序 - 单片机/MCU论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!...
  6. 队列服务 php,php Redis 队列服务的简单示例
  7. PHP如何解决网站大流量与高并发
  8. [MongoDB] MongoDB的基本操作以及文档的增删改查
  9. biee12c连接hive_BIEE 12c Linux下连接Hadoop Hive
  10. 看了这个视频都想辞职了
  11. C#基础温习(10):C#实现托盘功能
  12. ATAT-mcsqs- 运行后出现报错:段错误(吐核/core dumped)
  13. EJB是什么?(节选)
  14. 深入浅出曲面的切平面方程和曲面的法线方程
  15. 华为手机像素密度排行_华为荣耀20怎么调整像素密度,如何提升屏显清晰度呢...
  16. .so文件(so文件是什么)
  17. 计算共形几何讲座笔记
  18. 北京CBD核心区有哪些值得加入的科技公司
  19. [JSP] 页面编写操作
  20. STM32——WebSocket

热门文章

  1. 编程语言python培训-Python是什么样的编程语言?
  2. python下载方法-python下载文件的几种常用方法
  3. python一次性读取整个文件-python-文件中的行是否读取整个文件
  4. python类中方法的执行顺序-python 函数或者类 代码的执行顺序
  5. LeetCode Increasing Triplet Subsequence(动态规划)
  6. SPOJ 27020 GST Calculator
  7. libevent中的bufferevent
  8. springmvc常用配置
  9. 错误---获取Input的值为空字符串
  10. springMvc 的参数验证 BindingResult result 的使用