温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android开发之清理系统缓存错误

发布时间:2020-06-21 08:42:26 来源:网络 阅读:1382 作者:高山有流水 栏目:移动开发

最近在做清理系统缓存功能时,用到以下方法

PackageManager pm = context.getPackageManager();
			Method localMethod = pm.getClass().getMethod("freeStorageAndNotify", Long.TYPE, IPackageDataObserver.class);
			Long localLong = Long.valueOf(getEnvironmentSize() - 1L);
			Object[] arrayOfObject = new Object[2];
			arrayOfObject[0] = localLong;
			localMethod.invoke(pm, localLong, new IPackageDataObserver.Stub() {
				public void onRemoveCompleted(String packageName, boolean succeeded) throws RemoteException {
					
				}
			});

在调试状态能正常运行,但是正式打包编译就遇到一个错误,日志提示

java.lang.NoSuchMethodException: freeStorageAndNotify [long, interface ]

,提示找不到freeStorageAndNotify 方法,解决方法是:在proguard.cfg文件中加入以下两句:

-dontwarn android.content.pm.**

-keep class android.content.pm.** { *; }

使这个IPackageDataObserver.aidl这个类不被混淆,至此,问题解决了



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI