2012-10-07 6 views
6

android-maven-pluginで設定されたアンドロイドプロジェクトをビルドしました。 android:プログラムをデプロイして実行すると、SharedPreferencesは常に初期化されます。android-maven-plugin:SharedPreferencesを削除しないdeployメソッド

SharedPreferencesストレージを削除せずにプロジェクトをAVDにデプロイする方法はありますか?

P.S.

私はIntellij IDEAを使用し、そのがSharedPreferencesを削除しないことに気付きました。しかし、私のプロジェクトにscala supportを追加した後、IDEを実行すると、「多すぎるメソッド:112423;最大65536」というエラーが表示されます。おそらく、プロガードの前処理の欠如によるものです。 Intellij IDEAのアンドロイドサポートでアンドロイドアプリを実行する前にプロガードを適用する方法がある場合は、同様に効果的な解決策になります。

+0

優先を削除せずに配備するには、 'ADB -s DEVICESERIALCODE -rアプリケーションをインストールすることによって与えられています。 apk'私はあなたの展開スクリプトがこのパラメータをシェルスイッチとして持つべきだと思っています。おそらく目標 'android:run'を試してください –

+0

@pocorall Scalaとあまりにも多くのメソッドで問題を解決しましたか?もしそうなら、どうしたのですか?前もって感謝します! – jdevelop

+0

@Marek手がかりをありがとう。私はそれについて掘り下げます! – pocorall

答えて

2

あなたのアプリは再インストールされる前にアンインストールされていると思うので、SharedPreferencesの値が失われてしまいます。これは、Android MavenプラグインパラメータundeployBeforeDeployで制御できます。

私はちょうどandroid-quickstart原型とMavenプロジェクトを作成しようと、それは自動的に私のPOMに次の行を追加したことがわかった。これをfalseに設定して、もう一度試して

<undeployBeforeDeploy>true</undeployBeforeDeploy> 

てみてください。

あなたはそれがtrueに設定されている場合は、mvn android:deployを実行すると、それはコンソールに次の行を出力します。標準ADBを使用して

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

素晴らしい!それは動作します! – pocorall

関連する問題