Использую android.permission.CLEAR_APP_CACHE в приложении для очистки кэша. На андроид 6+ получаю ошибку:
java.lang.SecurityException: Neither user xxx nor current process has android.permission.CLEAR_APP_CACHE.
Код:
try {
Class[] classes = new Class[]{Long.TYPE, IPackageDataObserver.class};
Long maxLong = Long.MAX_VALUE;
Method method = pm.getClass().getMethod("freeStorageAndNotify", classes);
method.invoke(pm, maxLong, new CachePackageDataObserver());
} catch (Exception e) {
e.printStackTrace();
}
Знаю, что CLEAR_APP_CACHE имеет protectionLevel: system или signature. system не подходит (нужны рут права). Как правильно подписать приложение (signature)? Знаю, что для такой подписи нужны 3 файла: signapk.jar, platform.x509.pem, platform.pk8. Вопрос: где мне их взять? Или как сделать чтобы не было такой ошибки?
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости