Как почистить кеш приложения?

Доброго дня.
Суть проблемы следующая.
Приложение, написано на юнити, размещено в гугле.
При обновлении со стора происходит неприятная ситуация ..
Если внутри обновились нативные плагины, то при первом запуске приложение выпадает с ошибкой.
Логично предположить, что чистка кеша приложения и принудительное завершение после обновления решит проблему.
С принудительным завершением более-менее всё понятно и просто.
А вот с чисткой кеша - засада.
Пробовал чистить папку с файлами проекта, но не помогает.
File dir = context.getCacheDir();
deleteDir(dir);


Такой способ решает проблему, но параллельно и стирает все пользовательские данные
Runtime runtime = Runtime.getRuntime();
runtime.exec("pm clear "+packageName);


Кто знает решение этой проблемы?

Нативный метод недоступен для простых смертных.
/**
     * Attempts to delete the cache files associated with an application.
     * Since this may take a little while, the result will
     * be posted back to the given observer.  A deletion will fail if the calling context
     * lacks the {@link android.Manifest.permission#DELETE_CACHE_FILES} permission, if the
     * named package cannot be found, or if the named package is a "system package".
     *
     * @param packageName The name of the package to delete
     * @param observer An observer callback to get notified when the cache file deletion
     * is complete.
     * {@link android.content.pm.IPackageDataObserver#onRemoveCompleted(String, boolean)}
     * will be called when that happens.  observer may be null to indicate that
     * no callback is desired.
     *
     * @hide
     */
    @UnsupportedAppUsage
    public abstract void deleteApplicationCacheFiles(@NonNull String packageName,
            @Nullable IPackageDataObserver observer);
  • Вопрос задан
  • 365 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы