Czy możesz wymienić wszystkie możliwe katalogi, w których aplikacje na Androida mogą przechowywać dane, podając opis, jakie dane są przechowywane w każdym katalogu?
Czy możesz wymienić wszystkie możliwe katalogi, w których aplikacje na Androida mogą przechowywać dane, podając opis, jakie dane są przechowywane w każdym katalogu?
Odpowiedzi:
Wszystkie aplikacje (root lub nie) mają domyślny katalog danych, którym jest /data/data/<package_name>
. Domyślnie bazy danych aplikacji, ustawienia i wszystkie inne dane są tutaj. Jeśli aplikacja oczekuje na przechowywanie ogromnych ilości danych lub z innych powodów chce „być przyjemna dla pamięci wewnętrznej”, na karcie SDCard ( Android/data/<package_name>
) znajduje się odpowiedni katalog .
Poza tym wszystkie aplikacje mogą przechowywać dane w dowolnym miejscu na karcie SD, ponieważ nie ma żadnych ograniczeń - i wiele aplikacji to robi. Mogą swobodnie korzystać z nazw katalogów (i robią to ponownie), co często utrudnia podjęcie decyzji, do czego przeznaczone są te wszystkie „śmieci” na karcie i które z nich można usunąć.
Chociaż, jak zauważył Tom , aplikacje root mogą przechowywać swoje dane prawie wszędzie na twoim urządzeniu, zwykle przestrzegają tych samych zasad, co inne aplikacje.
Ogólne wyjaśnienie hierarchii katalogów Androida można znaleźć w mojej odpowiedzi tutaj . Do konkretnego pytania mogę dodać więcej szczegółów na temat /data/data/<package_name>
(i odpowiadającej części SD):
databases/
: tutaj są bazy danych aplikacjilib/
: biblioteki i pomocniki dla aplikacjifiles/
: inne powiązane plikishared_prefs/
: preferencje i ustawieniacache/
: no cacheW tym miejscu może być jeszcze kilka katalogów lub mniej - wszystko zależy od aplikacji. W swoim własnym „katalogu domowym” (i tak to właściwie jest, mówiąc Linux-em), mogą umieszczać pliki tam, gdzie chcą. Zazwyczaj te pliki i katalogi są dostępne tylko przez samą aplikację (i oczywiście root) - inne niż te przechowywane na karcie SD, do których są dostępne wszystkie aplikacje.
/data/data/<name>/files/
dokąd pójdą pliki utworzone zgodnie z opisem w developer.android.com/guide/topics/data/... ? Czyli te otwarte FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
?
/storage/emulated/0/WhatsApp/
(subdirs .Shared
, .trash
, Backups
, Databases
, Media
), w tym wszystkie media. Nie wiem, czy to dodatkowo \data\data...
, nie mogę teraz uzyskać dostępu do tego katalogu. Może zmieniło się to między wersjami.
/
) nie znajduje się na karcie SD. Karta SD oznacza poniżej /sdcard
(karta wewnętrzna, punkty /storage/emulated/<user>
) lub odpowiednią ścieżkę twojej karty zewnętrznej. I nie, nie mogę wyjaśnić wszystkich możliwych lokalizacji, z których może korzystać aplikacja, przepraszam; AFAIK /data/misc
jest zarządzany przez sam system Android, więc „zwykłe aplikacje” powinny mieć co najwyżej dostęp do odczytu. Nigdy nie spotkałem data/user_de
(ponieważ jest to ścieżka względna, i tak nie wiem, co masz na myśli).
Odpowiedź na zadane pytanie jest zbyt duża. Mogę jednak dać podstawową odpowiedź, która obejmuje podstawy.
Istnieją dwa rodzaje aplikacji:
rootowanie i rootowanie .
Aplikacje do rootowania mogą zasadniczo przechowywać / modyfikować pliki w dowolnym miejscu. Aplikacje
inne niż root mogą tutaj przechowywać / modyfikować pliki: /sdcard/
i każdy folder, który nastąpi później.
Przeważnie zainstalowane aplikacje przechowują się w /sdcard/Android/data
lub /sdcard/Android/obb
.
Niektóre aplikacje przechowują swoje zapisane gry / pliki danych konfiguracji w /sdcard/APPNAME/
lub po prostu /sdcard/
Aby móc korzystać z aplikacji root , musisz zrootować urządzenie z Androidem i wyrazić zgodę na jedną z aplikacji administratora.