6

我构建了一个使用 android-maven-plugin 设置的 android 项目。当我执行 android:deploy 并运行程序时,SharedPreferences 总是被初始化。

有没有办法在不删除 SharedPreferences 存储的情况下将我的项目部署到 AVD?

附言

我使用 Intellij IDEA 并注意到它的原生 android 运行/调试支持不会删除 SharedPreferences。但是,在我的项目中添加scala 支持后,IDE 在我运行应用程序时报告“方法太多:112423;最大值为 65536”错误。可能是由于缺乏 proguard 预处理。如果有办法在运行具有 Intellij IDEA android 支持的 android 应用程序之前应用 proguard,这将是一个同样有效的解决方案。

4

1 回答 1

2

我认为您的应用在重新安装之前已被卸载 - 这会导致您丢失 SharedPreferences 值。这可以通过 Android Maven 插件参数undeployBeforeDeploy来控制。

我刚刚尝试使用android-quickstart原型创建一个 Maven 项目,发现它自动将以下行添加到我的 POM 中:

<undeployBeforeDeploy>true</undeployBeforeDeploy>

尝试将其设置为 false 并重试。

如果您将其设置为 true,它会在您运行时在控制台中打印此行mvn android:deploy

[INFO] Successfully uninstalled [package] from [device]
于 2013-03-13T13:19:50.157 回答