Lines Matching full:storage
1 page.title=External Storage Technical Information
19 <p>Android supports devices with external storage, which is defined to be a
20 case-insensitive and permissionless filesystem. External storage can be
22 by internal storage. Devices may contain multiple instances of external
23 storage, but currently only the primary external storage is exposed to
26 <p>External storage is managed by a combination of the <code>vold</code> init service and
28 <p>Mounting of physical external storage volumes is handled by <code>vold</code>, which
47 storage volumes that are managed by <code>vold</code>, the entries should have the
64 <p>External storage interactions at and above the framework level are handled
67 attributes and constraints of storage devices. The <code><StorageList></code> element
68 contains one or more <code><storage></code> elements, exactly one of which should be marked
69 primary. <code><storage></code> attributes include:</p>
73 <li><code>primary</code>: true if this mount is the primary external storage.</li>
76 <li><code>emulated</code>: true if this mount is emulated and is backed by internal storage,
78 <li><code>mtp-reserve</code>: number of MB of storage that MTP should reserve for free
79 storage. Only used when mount is marked as emulated.</li>
80 <li><code>allowMassStorage</code>: true if this mount can be shared via USB mass storage.</li>
83 <p>Devices may provide external storage by emulating a case-insensitive,
84 permissionless filesystem backed by internal storage. One possible
91 <p>Where <code>source_path</code> is the backing internal storage and <code>dest_path</code> is the
95 storage. The <code>/sdcard</code> path must also resolve to the same location, possibly
96 through a symlink. If a device adjusts the location of external storage between
98 <p>As an example for Android 4.2.2 and earlier, here's the storage configuration for Xoom,
99 which uses a FUSE daemon to provide primary external storage, and includes a physical SD card as
100 secondary external storage:</p>
106 for the Android emulator, which emulates an external SD card as primary external storage:</p>
110 <p>Access to external storage is protected by various Android permissions.
115 implement the read permission, a new top-level <code>/storage</code> directory was created
117 <p>Since external storage offers no support for traditional POSIX filesystem
118 permissions, system code should not store sensitive data on external storage.
120 storage where they can be effectively protected.</p>
121 <h2 id="multi-user-external-storage">Multi-user external storage</h2>
123 storage must meet the following constraints:</p>
125 <li>Each user must have their own isolated primary external storage, and must not
126 have access to the primary external storage of other users.</li>
128 storage based on the user a process is running as.</li>
129 <li>Storage for large OBB files in the <code>Android/obb</code> directory may be shared
131 <li>Secondary external storage must not be writable by apps.</li>
136 storage into that private namespace.</p>
137 <p>At boot, the system mounts a single emulated external storage FUSE daemon at
140 daemon to <code>EMULATED_STORAGE_TARGET</code> so that external storage paths resolve
142 users' storage, they can only access storage for the user it was started as.</p>