Failed to unmount /storage/udisk (Device or resource busy, retries 6, action 0)
具体报错信息:09-19 10:36:48.163 181-212/? W/Vold: Failed to unmount /storage/udisk (Device or resource busy, retries 6, action 0)09-19 10:36:48.536 181-212/? E/ProcessKiller: Process com.example.petroch...
·
具体报错信息:
09-19 10:36:48.163 181-212/? W/Vold: Failed to unmount /storage/udisk (Device or resource busy, retries 6, action 0)
09-19 10:36:48.536 181-212/? E/ProcessKiller: Process com.example.petrochina_oil (27188) has open file /mnt/media_rw/udisk/ad_res/myupdates/petrochina_oil-v1.1.5-20190918_161401.apk
原因是因为文件占用:
/**
* 获取apk包的信息:版本号,名称,图标等
*
* @param //absPath apk包的绝对路径
* @param //context
*/
public static ApplicationInfo apkInfo(String absPath, Context context) {
ApplicationInfo appInfo = null;
String version = "";
PackageManager pm = context.getPackageManager();
PackageInfo pkgInfo = pm.getPackageArchiveInfo(absPath, PackageManager.GET_ACTIVITIES);
if (pkgInfo != null) {
appInfo = pkgInfo.applicationInfo;
/* 必须加这两句,不然下面icon获取是default icon而不是应用包的icon */
appInfo.sourceDir = absPath;
appInfo.publicSourceDir = absPath;
String appName = pm.getApplicationLabel(appInfo).toString();// 得到应用名
String packageName = appInfo.packageName; // 得到包名
version = pkgInfo.versionName; // 得到版本信息
/* icon1和icon2其实是一样的 */
//获取u盘里面的文件图标会导致文件占用
Drawable icon1 = pm.getApplicationIcon(appInfo);// 得到图标信息
Drawable icon2 = appInfo.loadIcon(pm);
String pkgInfoStr = String.format("PackageName:%s, Vesion: %s, AppName: %s", packageName, version, appName);
Log.i(MainActivity.TAG, String.format("PkgInfo: %s", pkgInfoStr));
}
return appInfo;
}
将以下这两行注释掉就可以了:
Drawable icon1 = pm.getApplicationIcon(appInfo);// 得到图标信息
Drawable icon2 = appInfo.loadIcon(pm);
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)