1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 fun apkInfo (absPath: String ?, context: Context ) : PackageInfoBean? { val pm = context.packageManager val pkgInfo = pm.getPackageArchiveInfo(absPath!!, PackageManager.GET_ACTIVITIES) ?: return null val appInfo = pkgInfo.applicationInfo appInfo.sourceDir = absPath appInfo.publicSourceDir = absPath val appName = pm.getApplicationLabel(appInfo).toString() val packageName = appInfo.packageName val version = pkgInfo.versionName val icon = pm.getApplicationIcon(appInfo) return PackageInfoBean(icon, appName, "" , 0L , packageName, version) }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class PackageInfoBean ( // 应用图标 var icon: Drawable, var appName: String, var apkSize: String, var apkLength: Long, var packageName: String, var versionName: String = "" , var selected: Boolean = false )
参考文章 https://blog.csdn.net/weixin_42126677/article/details/117351983