public List<ApkInfo> findapks(Context context, String pathname) { results = new ArrayList<String>(); find(pathname, ".apk"); List<ApkInfo> apks = new ArrayList<ApkInfo>(); for (String apk : results) { ApkInfo apkinfo = new ApkInfo(); PackageManager pm = context.getPackageManager(); PackageInfo pi = pm.getPackageArchiveInfo(apk, PackageManager.GET_ACTIVITIES); if (pi == null) continue; ApplicationInfo ai = pi.applicationInfo; ai.sourceDir = apk; ai.publicSourceDir = apk; String apksize = pi.versionName; String apkname = ai.loadLabel(pm).toString(); Drawable apkicon = ai.loadIcon(pm); apkinfo.setAppname(apkname); apkinfo.setIcon(apkicon); apkinfo.setSize(apksize); apkinfo.setPath(apk); apks.add(apkinfo); } Collections.sort(apks, comparator); return apks; }