在Android中获取应用程序大小

时间:2014-03-12 06:13:13

标签: android

我想获取应用程序大小(以字节为单位)。我尝试的方式如下:

PackageStats ps = new PackageStats(packageInfo.packageName); int size = ps.codeSize;

每次都会返回 0 。 (基本上每个返回的值都是0 - cacheSize,dataSize等)

想要使用here提及的反射(因为它没有记录的方式)

那么有什么方法可以获取这些信息吗?

2 个答案:

答案 0 :(得分:0)

应用程序大小的一个定义是apk文件的大小(以字节为单位)。

您可以通过对应用程序的ApplicationInfo.sourceDir值执行新的File(),然后对该文件执行File.length()来获得该功能。

答案 1 :(得分:0)

与类名声音相反,PackageStats.class无法访问手机上的系统并查找应用程序,数据和缓存文件的大小(希望如此)。它用于从包裹中提取此信息(如果可用),或者如果包裹提供给包裹,则将包裹信息写入包裹。

使用zmarties方法,新的File(),是一个可行的解决方案。