¿Establecer ubicación de instalación para Android 1.6?
Estoy escribiendo una aplicación que es compatible con Android 1.6, pero me gustaría dar a los usuarios con Android 2.2 la opción de mover la instalación de la aplicación a su tarjeta sd.
¿Cómo puedo compilar mi aplicación para 1.6, pero todavía permiten a los usuarios 2.2 instalarlo a su sd?
- Android: Guardar el archivo permanentemente (incluso después de borrar datos / desinstalar)
- Android: ubicación absoluta de la tarjeta SD externa
- creando un drawable de la tarjeta del SD para fijar como fondo en android
- Android External App Install (en la tarjeta SD), vuelva a cargar las alarmas del alarmmanager al re-montar a través del receptor
- Abrir el selector de archivos de mi actividad de Android
- Poner manualmente archivos en la tarjeta SD del emulador de Android
- ¿Existe un límite para el número de archivos en un directorio de una tarjeta SD?
- Android FileProvider para ext sdcard
- Android abrir o crear base de datos
- Sistema de archivos de la tarjeta SD de Android
- Android Mediaplayer: problema de setDataSource para el archivo de medios descargado
- ACTION_GET_CONTENT: ¿Cómo obtener el fin del archivo al buscar varios tipos de archivo?
- Lectura y escritura de archivos XML
En su manifiesto:
- En
<manifest>
, agregue "android:installLocation="preferExternal
" - Mantenga su
uses-sdk
actualuses-sdk
como "<uses-sdk android:minSdkVersion="4">
"
A continuación, vaya a Proyecto> Propiedades> Android (a la izquierda), cambie el destino de compilación a 2.2 y todo estará listo.
Su proyecto se construirá utilizando 2.2 (pero sólo requiere 1.6), pero los dispositivos que ejecutan 1.6 simplemente ignorarán su nueva configuración "installLocation" en el manifiesto. Sólo tenga cuidado de no añadir ningún material introducido 2.2 en su código real, ya que el compilador ya no lo atrapará.
Esto no es tan perfecto como sugiere la guía de desarrolladores. En primer lugar, la aplicación no se genera cuando la ubicación installLocation está presente en el manifiesto y la meta de compilación se establece en algo distinto de 2.2:
error: No resource identifier found for attribute 'installLocation' in package 'android'
Por lo tanto, para probar la compatibilidad inversa estableciendo el objetivo de compilación en 1.6, el manifiesto también debe editarse.
En segundo lugar, una vez que el objetivo de compilación se establece en 2.2, no puedo elegir un emulador con un nivel de API inferior para las pruebas. Todavía puedo iniciar manualmente un emulador 1.6 y ejecutar la aplicación en él, sin embargo, pero tengo curiosidad si mi aplicación aparecerá en Android Market para dispositivos 1.6 si mi meta de compilación es 2.2 (aunque minSdkVersion = 4). No tengo un dispositivo real para probar. ¿Puede alguien confirmar que esto no afecta la disponibilidad en el mercado?
Por último, esta advertencia sigue siendo:
Attribute minSdkVersion (4) is lower than the project target API level (8)
- La vista previa de la cámara no está reiniciando?
- Consumir One-Shot ResponseBody de Okhttp causa problemas con Retrofit