android.content.res.Resources$No

2023-10-19  本文已影响0人  gale_小米

android.content.res.Resources$NotFoundException: String resource ID #0x7f060000

try {
            PackageInfo packageInfo = pm.getPackageArchiveInfo(apkPath, 0);
            ApplicationInfo appInfo = packageInfo.applicationInfo;
            String appName= appInfo.loadLabel(pm).toString();
            Log.e("appName","appName="+appName);
        } catch (Throwable t) {
            Log.e(MainActivity.this.getClass().getName(), "Error loading application label for " + app.packageName, t);
        }

12上面没有这个现象,13出现这个问题;

Failure retrieving text 0x7f060000 in package kr.hwangti.batterylog

但是源码里面的PackageInstaller应用又是可以解析到的apk的图标和名称
com.android.packageinstaller.wear.WearPackageInstallerService.java

private void installPackage(Bundle argsBundle) {
          ...

            ApplicationInfo appInfo = pkgInfo.applicationInfo;
            appInfo.sourceDir = tempFile.getPath();
            appInfo.publicSourceDir = tempFile.getPath();
            getLabelAndUpdateNotification(packageName,
                    getString(R.string.installing_app, appInfo.loadLabel(pm)));
          ...
}

解决方法,在调用loadLabel之前加上这两句可以

applicationInfo.sourceDir = apkPath;
applicationInfo.publicSourceDir = apkPath; 
上一篇 下一篇

猜你喜欢

热点阅读