Конечно вы можете. Хотя кажется, что нет проблем с переносом dalvik-кеша на обычную файловую систему SD-карты (наиболее распространенную, vfat), все же настоятельно рекомендуется отформатировать SD-карту в ext4 (или такую же, как ваша /data
), чтобы убедиться, что все работает хорошо.
Итак, начнем. Перед продолжением рекомендуется выполнить полное резервное копирование всех ваших приложений, хотя, если вам повезет, это не требуется. Предполагая, что у вас есть эмулятор терминала для выполнения необходимых работ.
Сначала создайте папку, в которую вы хотите перенести ваш dalvik-кеш. Затем chmod
и chown
новая папка для соответствия /data/dalvik-cache
. Если вы используете ОС Android с поддержкой SELinux, не забудьте соответствующим образом изменить контексты безопасности. Запустить
ls -dlZ /data/dalvik-cache
ls -lZ /data/dalvik-cache
чтобы увидеть исходные разрешения, владельца / группы и контексты безопасности папки dalvik-cache.
Затем скопируйте все файлы /data/dalvik-cache
, например, в новое место /storage/sdcard1/dalvik-cache
. Вы можете использовать cp -a
команду для сохранения атрибутов файла, что упростит задачу.
Убедитесь, что новые приложения не запускаются во время процесса следующего шага.
Затем rm -r /data/dalvik-cache
и создайте символическую ссылку на новое местоположение, используя
ln -s /storage/sdcard1/dalvik-cache /data/dalvik-cache
Это все. Были сделаны. Перезагрузите телефон (не обязательно, но рекомендуется).
Некоторые уведомления об этом процессе:
Занятый ящик не всегда может работать хорошо, поскольку Android основан на сильно модифицированном ядре Linux. Например, почти все функции, связанные с SELinux, не работают должным образом. Вы можете проверить это, как показано ниже.
toolbox ls -Z /data
busybox ls -Z /data
toolbox getenforce
busybox getenforce
Однако они могут работать правильно, в зависимости от версии Android:
busybox chcon <context> <files...>
busybox runcon <context <program> [args...]
Никогда не вынимайте SD-карту. Если вы переформатируете SD-карту, убедитесь, что она по-прежнему ext4 И создайте папку dalvik-cache, прежде чем загружать телефон в первый раз.
Есть несколько хороших Howtos, которые могут оказаться полезными для решения вашей проблемы:
Согласно нескольким веткам форума, A2SDGUI - Darktremor A2SD GUI должен быть приложением выбора для перемещения кеша Dalvik на вашу SD-карту.
источник