在开发一键清缓存的功能时,缓存清除成功,当使用反射调用IPackageStatsObserver.class 这个类时,系统提示错误:
java.lang.NoSuchMethodException: getPackageSizeInfo [class java.lang.String, interface android.content.pm.IPackageStatsObserver]
W/System.err(12295): at java.lang.Class.getConstructorOrMethod(Class.java:460)
W/System.err(12295): at java.lang.Class.getDeclaredMethod(Class.java:685)
字面意思很简单没有找到该方法,但是查看我的源码,包导入正常,
只能查看自己的代码,找到出错的位置
/**
* 取得指定包名的程序的缓存大小
*/
private void queryPkgCacheSize(String pkgName) throws Exception {
if (!TextUtils.isEmpty(pkgName)) {// pkgName不能为空
// 使用放射机制得到PackageManager类的隐藏函数getPackageSizeInfo
if (mPackageMa