summaryrefslogtreecommitdiffstats
path: root/docs/html/guide
diff options
context:
space:
mode:
authorDirk Dougherty <ddougherty@google.com>2012-09-04 18:09:08 -0700
committerDirk Dougherty <ddougherty@google.com>2013-02-21 15:47:43 -0800
commitaca4a7760ab232052d6133c51d335d467ec6469e (patch)
treeac38951f42143aec3b23574e400e2aa618a9d0d1 /docs/html/guide
parentf32cbc3d490845967e28b0995ac88187b197642c (diff)
downloadframeworks_base-aca4a7760ab232052d6133c51d335d467ec6469e.zip
frameworks_base-aca4a7760ab232052d6133c51d335d467ec6469e.tar.gz
frameworks_base-aca4a7760ab232052d6133c51d335d467ec6469e.tar.bz2
Doc change: Remove refs to Copy Protection and note EOL in GP.
Change-Id: Ia03a6173cc635a5de460cd5534c454840510b33d Bug:6951537
Diffstat (limited to 'docs/html/guide')
-rw-r--r--docs/html/guide/appendix/install-location.jd206
-rw-r--r--docs/html/guide/topics/data/install-location.jd5
-rw-r--r--docs/html/guide/topics/manifest/manifest-element.jd8
-rw-r--r--docs/html/guide/topics/manifest/supports-gl-texture-element.jd2
-rw-r--r--docs/html/guide/topics/manifest/uses-feature-element.jd2
5 files changed, 3 insertions, 220 deletions
diff --git a/docs/html/guide/appendix/install-location.jd b/docs/html/guide/appendix/install-location.jd
deleted file mode 100644
index 50f6d27..0000000
--- a/docs/html/guide/appendix/install-location.jd
+++ /dev/null
@@ -1,206 +0,0 @@
-page.title=App Install Location
-@jd:body
-
-
-<div id="qv-wrapper">
-<div id="qv">
-
- <h2>Quickview</h2>
- <ul>
- <li>You can allow your application to install on the device's external storage.</li>
- <li>Some types of applications should <strong>not</strong> allow installation on the external
-storage.</li>
- <li>Installing on the external storage is ideal for large applications that are not tightly
-integrated with the system (most commonly, games).</li>
- </ul>
-
- <h2>In this document</h2>
- <ol>
- <li><a href="#Compatiblity">Backward Compatibility</a></li>
- <li><a href="#ShouldNot">Applications That Should NOT Install on External Storage</a></li>
- <li><a href="#Should">Applications That Should Install on External Storage</a></li>
- </ol>
-
- <h2>See also</h2>
- <ol>
- <li><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">
-&lt;manifest&gt;</a></code></li>
- </ol>
-
-</div>
-</div>
-
-<p>Beginning with API Level 8, you can allow your application to be installed on the
-external storage (for example, the device's SD card). This is an optional feature you can declare
-for your application with the <a
-href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code
-android:installLocation}</a> manifest attribute. If you do
-<em>not</em> declare this attribute, your application will be installed on the internal storage
-only and it cannot be moved to the external storage.</p>
-
-<p>To allow the system to install your application on the external storage, modify your
-manifest file to include the <a
-href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code
-android:installLocation}</a> attribute in the <code><a
-href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element,
-with a value of either "{@code preferExternal}" or "{@code auto}". For example:</p>
-
-<pre>
-&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
- android:installLocation="preferExternal"
- ... &gt;
-</pre>
-
-<p>If you declare "{@code preferExternal}", you request that your application be installed on the
-external storage, but the system does not guarantee that your application will be installed on
-the external storage. If the external storage is full, the system will install it on the internal
-storage. The user can also move your application between the two locations.</p>
-
-<p>If you declare "{@code auto}", you indicate that your application may be installed on the
-external storage, but you don't have a preference of install location. The system will
-decide where to install your application based on several factors. The user can also move your
-application between the two locations.</p>
-
-<p>When your application is installed on the external storage:</p>
-<ul>
- <li>There is no effect on the application performance so long
-as the external storage is mounted on the device.</li>
- <li>The {@code .apk} file is saved on the external storage, but all private user data,
-databases, optimized {@code .dex} files, and extracted native code are saved on the
-internal device memory.</li>
- <li>The unique container in which your application is stored is encrypted with a randomly
-generated key that can be decrypted only by the device that originally installed it. Thus, an
-application installed on an SD card works for only one device.</li>
- <li>The user can move your application to the internal storage through the system settings.</li>
-</ul>
-
-<p class="warning"><strong>Warning:</strong> When the user enables USB mass storage to share files
-with a computer or unmounts the SD card via the system settings, the external storage is unmounted
-from the device and all applications running on the external storage are immediately killed.</p>
-
-
-
-<h2 id="Compatiblity">Backward Compatibility</h2>
-
-<p>The ability for your application to install on the external storage is a feature available only
-on devices running API Level 8 (Android 2.2) or greater. Existing applications that were built prior
-to API Level 8 will always install on the internal storage and cannot be moved to the external
-storage (even on devices with API Level 8). However, if your application is designed to support an
-API Level <em>lower than</em> 8, you can choose to support this feature for devices with API Level 8
-or greater and still be compatible with devices using an API Level lower than 8.</p>
-
-<p>To allow installation on external storage and remain compatible with versions lower than API
-Level 8:</p>
-<ol>
- <li>Include the {@code android:installLocation} attribute with a value of "{@code auto}" or
-"{@code preferExternal}" in the <code><a
-href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;manifest&gt;</a></code>
-element.</li>
- <li>Leave your {@code android:minSdkVersion} attribute as is (something <em>less
-than</em> "8") and be certain that your application code uses only APIs compatible with that
-level.</li>
- <li>In order to compile your application, change your build target to API Level 8. This is
-necessary because older Android libraries don't understand the {@code android:installLocation}
-attribute and will not compile your application when it's present.</li>
-</ol>
-
-<p>When your application is installed on a device with an API Level lower than 8, the {@code
-android:installLocation} attribute is ignored and the application is installed on the internal
-storage.</p>
-
-<p class="caution"><strong>Caution:</strong> Although XML markup such as this will be ignored by
-older platforms, you must be careful not to use programming APIs introduced in API Level 8
-while your {@code minSdkVersion} is less than "8", unless you perform the work necessary to
-provide backward compatibility in your code. For information about building
-backward compatibility in your application code, see the <a
-href="{@docRoot}resources/articles/backward-compatibility.html">Backward Compatibility</a>
-article.</p>
-
-
-
-<h2 id="ShouldNot">Applications That Should NOT Install on External Storage</h2>
-
-<p>When the user enables USB mass storage to share files with their computer (or otherwise
-unmounts or removes the external storage), any application
-installed on the external storage and currently running is killed. The system effectively becomes
-unaware of the application until mass storage is disabled and the external storage is
-remounted on the device. Besides killing the application and making it unavailable to the user,
-this can break some types of applications in a more serious way. In order for your application to
-consistently behave as expected, you <strong>should not</strong> allow your application to be
-installed on the external storage if it uses any of the following features, due to the cited
-consequences when the external storage is unmounted:</p>
-
-<dl>
- <dt>Services</dt>
- <dd>Your running {@link android.app.Service} will be killed and will not be restarted when
-external storage is remounted. You can, however, register for the {@link
-android.content.Intent#ACTION_EXTERNAL_APPLICATIONS_AVAILABLE} broadcast Intent, which will notify
-your application when applications installed on external storage have become available to the
-system again. At which time, you can restart your Service.</dd>
- <dt>Alarm Services</dt>
- <dd>Your alarms registered with {@link android.app.AlarmManager} will be cancelled. You must
-manually re-register any alarms when external storage is remounted.</dd>
- <dt>Input Method Engines</dt>
- <dd>Your <a href="{@docRoot}resources/articles/on-screen-inputs.html">IME</a> will be
-replaced by the default IME. When external storage is remounted, the user can open system settings
-to enable your IME again.</dd>
- <dt>Live Wallpapers</dt>
- <dd>Your running <a href="{@docRoot}resources/articles/live-wallpapers.html">Live Wallpaper</a>
-will be replaced by the default Live Wallpaper. When external storage is remounted, the user can
-select your Live Wallpaper again.</dd>
- <dt>Live Folders</dt>
- <dd>Your <a href="{@docRoot}resources/articles/live-folders.html">Live Folder</a> will be
-removed from the home screen. When external storage is remounted, the user can add your Live Folder
-to the home screen again.</dd>
- <dt>App Widgets</dt>
- <dd>Your <a href="{@docRoot}guide/topics/appwidgets/index.html">App Widget</a> will be removed
-from the home screen. When external storage is remounted, your App Widget will <em>not</em> be
-available for the user to select until the system resets the home application (usually not until a
-system reboot).</dd>
- <dt>Account Managers</dt>
- <dd>Your accounts created with {@link android.accounts.AccountManager} will disappear until
-external storage is remounted.</dd>
- <dt>Sync Adapters</dt>
- <dd>Your {@link android.content.AbstractThreadedSyncAdapter} and all its sync functionality will
-not work until external storage is remounted.</dd>
- <dt>Device Administrators</dt>
- <dd>Your {@link android.app.admin.DeviceAdminReceiver} and all its admin capabilities will
-be disabled, which can have unforeseeable consequences for the device functionality, which may
-persist after external storage is remounted.</dd>
- <dt>Broadcast Receivers listening for "boot completed"</dt>
- <dd>The system delivers the {@link android.content.Intent#ACTION_BOOT_COMPLETED} broadcast
-before the external storage is mounted to the device. If your application is installed on the
-external storage, it can never receive this broadcast.</dd>
- <dt>Copy Protection</dt>
- <dd>Your application cannot be installed to a device's SD card if it uses Google Play's
- Copy Protection feature. However, if you use Google Play's
- <a href="{@docRoot}google/play/licensing.html">Application Licensing</a> instead, your
- application <em>can</em> be installed to internal or external storage, including SD cards.</dd>
-</dl>
-
-<p>If your application uses any of the features listed above, you <strong>should not</strong> allow
-your application to install on external storage. By default, the system <em>will not</em> allow your
-application to install on the external storage, so you don't need to worry about your existing
-applications. However, if you're certain that your application should never be installed on the
-external storage, then you should make this clear by declaring <a
-href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code
-android:installLocation}</a> with a value of "{@code internalOnly}". Though this does not
-change the default behavior, it explicitly states that your application should only be installed
-on the internal storage and serves as a reminder to you and other developers that this decision has
-been made.</p>
-
-
-<h2 id="Should">Applications That Should Install on External Storage</h2>
-
-<p>In simple terms, anything that does not use the features listed in the previous section
-are safe when installed on external storage. Large games are more commonly the types of
-applications that should allow installation on external storage, because games don't typically
-provide additional services when inactive. When external storage becomes unavailable and a game
-process is killed, there should be no visible effect when the storage becomes available again and
-the user restarts the game (assuming that the game properly saved its state during the normal
-<a href="{@docRoot}guide/components/activities.html#Lifecycle">Activity lifecycle</a>).</p>
-
-<p>If your application requires several megabytes for the APK file, you should
-carefully consider whether to enable the application to install on the external storage so that
-users can preserve space on their internal storage.</p>
-
diff --git a/docs/html/guide/topics/data/install-location.jd b/docs/html/guide/topics/data/install-location.jd
index 061a2c0..757cd19 100644
--- a/docs/html/guide/topics/data/install-location.jd
+++ b/docs/html/guide/topics/data/install-location.jd
@@ -164,11 +164,6 @@ persist after external storage is remounted.</dd>
<dd>The system delivers the {@link android.content.Intent#ACTION_BOOT_COMPLETED} broadcast
before the external storage is mounted to the device. If your application is installed on the
external storage, it can never receive this broadcast.</dd>
- <dt>Copy Protection</dt>
- <dd>Your application cannot be installed to a device's SD card if it uses Google Play's
- Copy Protection feature. However, if you use Google Play's
- <a href="{@docRoot}google/play/licensing/index.html">Application Licensing</a> instead, your
- application <em>can</em> be installed to internal or external storage, including SD cards.</dd>
</dl>
<p>If your application uses any of the features listed above, you <strong>should not</strong> allow
diff --git a/docs/html/guide/topics/manifest/manifest-element.jd b/docs/html/guide/topics/manifest/manifest-element.jd
index fd9f203..cce951e 100644
--- a/docs/html/guide/topics/manifest/manifest-element.jd
+++ b/docs/html/guide/topics/manifest/manifest-element.jd
@@ -144,17 +144,11 @@ to either internal or external storage through the system settings.</td>
<td>"{@code preferExternal}"</td>
<td>The application prefers to be installed on the external storage (SD card). There is no
guarantee that the system will honor this request. The application might be installed on internal
-storage if the external media is unavailable or full, or if the application uses the forward-locking
-mechanism (not supported on external storage). Once installed, the user can move the application to
+storage if the external media is unavailable or full. Once installed, the user can move the application to
either internal or external storage through the system settings.</td>
</tr>
</table>
-<p class="caution"><strong>Caution:</strong> If your application uses Google Play's Copy
- Protection feature, it cannot be installed to a device's SD card. However, if you use Google
- Play's <a href="{@docRoot}google/play/licensing/index.html">Application Licensing</a> instead,
- your application <em>can</em> be installed to internal or external storage, including SD cards.</p>
-
<p class="note"><strong>Note:</strong> By default, your application will be installed on the
internal storage and cannot be installed on the external storage unless you define this attribute
to be either "{@code auto}" or "{@code preferExternal}".</p>
diff --git a/docs/html/guide/topics/manifest/supports-gl-texture-element.jd b/docs/html/guide/topics/manifest/supports-gl-texture-element.jd
index 65d3d40..fa39317 100644
--- a/docs/html/guide/topics/manifest/supports-gl-texture-element.jd
+++ b/docs/html/guide/topics/manifest/supports-gl-texture-element.jd
@@ -162,7 +162,7 @@ an application declares its supported texture compression formats in
a device reports the formats it supports as read-only system properties.</li>
</ul>
-<p>Each time you upload an application to the Google Play publisher site,
+<p>Each time you upload an application to the Google Play Developer Console,
Google Play scans the application's manifest file and looks for any
<code>&lt;supports-gl-texture&gt;</code> elements. It extracts the
format descriptors from the elements and stores them internally as
diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd
index 3d6f18b..21d152c 100644
--- a/docs/html/guide/topics/manifest/uses-feature-element.jd
+++ b/docs/html/guide/topics/manifest/uses-feature-element.jd
@@ -237,7 +237,7 @@ Package Manager for the list of features available on the device by calling
Store application then passes the features list up to Google Play
when establishing the session for the user.</p>
-<p>Each time you upload an application to the Google Play publisher site,
+<p>Each time you upload an application to the Google Play Developer Console,
Google Play scans the application's manifest file. It looks for
<code>&lt;uses-feature&gt;</code> elements and evaluates them in combination
with other elements, in some cases, such as <code>&lt;uses-sdk&gt;</code> and