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?
applications
file-system
storage
mrpyo
źródło
źródło
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.
źródło
/data/data/<name>/files/
dokąd pójdą pliki utworzone zgodnie z opisem w developer.android.com/guide/topics/data/... ? Czyli te otwarteFileOutputStream 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łemdata/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.
źródło