2012-10-07 25 views
6

Creé un proyecto de Android que se configuró con android-maven-plugin. Cuando ejecuto android: despliegue y ejecute el programa, SharedPreferences siempre se inicializa.android-maven-plugin: método de implementación que no elimina SharedPreferences

¿Hay alguna manera de implementar mi proyecto en AVD sin eliminar el almacenamiento de SharedPreferences?

P.S.

Uso Intellij IDEA y noté que no elimina SharedPreferences. Sin embargo, después de agregar scala support en mi proyecto, IDE informa "Demasiados métodos: 112423; máximo es 65536" cuando ejecuto la aplicación. Tal vez se deba a la falta de preprocesamiento de proguard. Si hay una forma de aplicar Proguard antes de ejecutar la aplicación de Android con el soporte de Android Intellij IDEA, sería una solución igualmente efectiva.

+0

El uso estándar de ADB desplegar sin borrar las preferencias está dada por 'adb -s -r DEVICESERIALCODE instalar la aplicación. apk' Sospecho que su script de despliegue debería tener este parámetro como un interruptor de shell. Tal vez intente con goal 'android: run' –

+0

@pocorall ¿resolvió el problema con Scala y con demasiados métodos? Si es así, ¿cómo hiciste eso? ¡Gracias por adelantado! – jdevelop

+0

@Marek Gracias por una pista. ¡Voy a excavar sobre eso! – pocorall

Respuesta

2

Creo que su aplicación se desinstalará antes de volver a instalarla. Esto podría hacer que pierda sus valores de SharedPreferences. Esto se puede controlar con el parámetro de plugin Android Maven undeployBeforeDeploy.

Sólo traté de crear un proyecto Maven con el arquetipo android-quickstart y encontró que añade automáticamente la siguiente línea a mi POM:

<undeployBeforeDeploy>true</undeployBeforeDeploy> 

intenta establecer esto a falso y vuelve a intentarlo.

Si lo tiene el valor true, se imprime esta línea en la consola cuando se ejecuta mvn android:deploy:

[INFO] Successfully uninstalled [package] from [device] 
+0

¡Genial! ¡Funciona! – pocorall

Cuestiones relacionadas