2012-07-30 24 views
5

No puedo mover mi propia aplicación a la tarjeta SD.No se puede mover una aplicación a la tarjeta SD

Mis partes correspondientes de manifiesto son las siguientes (también estoy pegando qué permisos necesita).

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<application 
    android:installLocation="preferExternal" 
    android:label="@string/app_name" > 

<uses-sdk 
    android:minSdkVersion="6" 
    android:targetSdkVersion="9" /> 

creo que he seguido las directrices que se describen aquí: http://developer.android.com/guide/topics/data/install-location.html (compatibilidad y pemissions). Sin embargo, durante la instalación (desde SDK pero también desde Android Market), las aplicaciones aterrizan en el almacenamiento interno, y no puedo moverlo usando "Administrar aplicaciones".

Respuesta

7

probar este ...

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    android:installLocation="preferExternal" 
    package="your.package.name" 
    android:versionCode="1" 
    android:versionName="1.0" > 
... 
... 
+0

¡OCH! Lo puse en aplicación, ¡no manifiesto! ¡Gracias! Voy a intentar en unas pocas horas! – bluszcz

3

Es necesario incluir android:installLocation="auto" en su <manifest> etiqueta

+1

'androide: installLocation = "preferExternal"' funciona tan bien, pero simplemente le dice a preferir Android de almacenamiento externo, incluso si el usuario ha puesto su preferencia al almacenamiento interno. –

0

De acuerdo con la sección Compatibilidad hacia atrás de la instalación de la aplicación Ubicación docs,

Las aplicaciones existentes que fueron construidas antes de la API de nivel 8 siempre instalar en el almacenamiento interno y no se puede mover al almacenamiento externo (incluso en dispositivos con Nivel API 8).

Sin embargo, aún puede aprovechar la función de ubicación de instalación configurando su objetivo de compilación en el nivel 8 de la API (o superior).

Para hacerlo, haga clic derecho en su proyecto, luego vaya a Propiedades> Android. Seleccione API nivel 8 (Android 2.2) o superior de la lista.

+0

de la misma página: Incluye el atributo android: installLocation con un valor de "auto" o "preferExternal" en el elemento . Deje su atributo android: minSdkVersion tal como está (algo menos que "8") y asegúrese de que el código de su aplicación use solo API compatibles con ese nivel. Para compilar su aplicación, cambie su objetivo de compilación al nivel de API 8. Esto es necesario porque las bibliotecas de Android anteriores no entienden el atributo android: installLocation y no compilará su aplicación cuando esté presente. – bluszcz

+0

Y no mencioné que uso eclipse. – bluszcz

+0

Tampoco mencionaste que no usa eclipse, que es el método más común para desarrollar aplicaciones de Android. No incluí la información de minSDK e installLocation en mi respuesta, ya que ya los tenía en el XML que publicó. –

Cuestiones relacionadas