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

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

站在用户的角度思考问题,与客户深入沟通,找到冷水江网站设计与冷水江网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、主机域名、虚拟空间、企业邮箱。业务覆盖冷水江地区。

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这个类不被混淆,至此,问题解决了



文章标题:Android开发之清理系统缓存错误
链接地址:http://scyanting.com/article/pesehh.html