节选自:Android 通过apk文件获取相应的包名和版本号
通过下面方法可以直接获取到apk的包名和版本号:apkPath是apk存放的路径
public static Drawable GetApkInfo(Context context, String apkPath) {
PackageManager pm = context.getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
if (info != null) {
ApplicationInfo appInfo = info.applicationInfo;
String packageName = appInfo.packageName; //得到安装包名称
String version = info.versionName;//获取安装包的版本号
Log.i(TAG, "getApkIcon: " + packageName + "-------" + version);
try {
return appInfo.loadIcon(pm);
} catch (OutOfMemoryError e) {
Log.i(TAG, "GetApkInfo: " + e);
}
}
return null;
}