Доброго дня.
Суть проблемы следующая.
Приложение, написано на юнити, размещено в гугле.
При обновлении со стора происходит неприятная ситуация ..
Если внутри обновились нативные плагины, то при первом запуске приложение выпадает с ошибкой.
Логично предположить, что чистка кеша приложения и принудительное завершение после обновления решит проблему.
С принудительным завершением более-менее всё понятно и просто.
А вот с чисткой кеша - засада.
Пробовал чистить папку с файлами проекта, но не помогает.
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);