Android开发之清理系统缓存错误
最近在做清理系统缓存功能时,用到以下方法
PackageManagerpm=context.getPackageManager();MethodlocalMethod=pm.getClass().getMethod("freeStorageAndNotify",Long.TYPE,IPackageDataObserver.class);LonglocalLong=Long.valueOf(getEnvironmentSize()-1L);Object[]arrayOfObject=newObject[2];arrayOfObject[0]=localLong;localMethod.invoke(pm,localLong,newIPackageDataObserver.Stub(){publicvoidonRemoveCompleted(StringpackageName,booleansucceeded)throwsRemoteException{}});
在调试状态能正常运行,但是正式打包编译就遇到一个错误,日志提示
java.lang.NoSuchMethodException: freeStorageAndNotify [long, interface ]
,提示找不到freeStorageAndNotify方法,解决方法是:在proguard.cfg文件中加入以下两句:
-dontwarn android.content.pm.**
-keep class android.content.pm.** { *; }
使这个IPackageDataObserver.aidl这个类不被混淆,至此,问题解决了
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。