我构建了一个用android-maven-plugin设置的android项目。当我执行android:deploy并运行程序时,SharedPreferences总是初始化。
有没有办法将我的项目部署到AVD而不删除SharedPreferences存储?
P.S。
我使用Intellij IDEA并注意到它的native android run/debug support不会删除SharedPreferences。但是,在我的项目中添加scala support后,IDE在运行应用程序时报告“Too many methods:112423; max is 65536”错误。也许是因为缺乏预处理预处理。如果有一种方法可以在运行带有Intellij IDEA android支持的Android应用程序之前应用proguard,那将是一个同样有效的解决方案。
答案 0 :(得分:2)
我认为您的应用在重新安装之前正在卸载 - 这会导致您丢失SharedPreferences值。这可以使用Android Maven插件参数undeployBeforeDeploy进行控制。
我刚尝试用android-quickstart原型创建一个Maven项目,发现它自动将以下行添加到我的POM中:
<undeployBeforeDeploy>true</undeployBeforeDeploy>
尝试将此设置为false,然后重试。
如果将其设置为true,则在运行mvn android:deploy
时会在控制台中打印此行:
[INFO] Successfully uninstalled [package] from [device]