怎么获取list里每个apk的大小

如何获取list里每个apk的大小
如何获取list里每个apk的大小,现在获取到了包名,icon,版本,但是apk大小不知道怎样可以获取到,希望大家来帮帮我。在网上查了还是没有一个解决方法。

------解决方案--------------------

这种效果么~使用PackageManager类getPackageSizeInfo方法。不过要导入我的framework jar包,2.3版本的~
http://blog.****.net/t5721654/article/details/6725628
看不明白QQ联系我好了~262733591
------解决方案--------------------
Java code
List<PackageInfo> packageinfo = getPackageManager().getInstalledPackages(0);
for(PackageInfo p:packageinfo){
            String pkName = p.packageName;
            long length = new File(p.applicationInfo.publicSourceDir).length();
            //用户程序
            if ((p.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
                // customs applications
                Log.e("***","包名:"+pkName+",大小:"+length);
            }else{//系统程序
                Log.e("***","包名:"+pkName+",大小:"+length);
            }
        }

------解决方案--------------------
long length = new File(p.applicationInfo.publicSourceDir).length();
楼上得到的大小和设置里显示是不同的。~
PackageManager类getPackageSizeInfo方法不仅能得到应用及数据大小,还能得到缓存大小~