11

私はGooglePlayマーケットにアプリを持っていて、android:installLocation="preferExternal"manifest.xmlファイルに追加して、ずっと前にリリースしました。Androidのホーム画面ウィジェットを追加したいので、に変更する必要がありますandroid:installLocation="internalOnly"。そうすると、ユーザーがアップグレードするとどうなりますか?ユーザーがすでに古いアプリをSDカードにインストールしているためです。この状況に対する最善の解決策は何ですか?

このような経験があれば教えてください。

前もって感謝します :)

4

2 に答える 2

2

インストール場所をpreferExternalに設定すると、アプリケーション固有のファイルは外部SDカードの.android_secureディレクトリに保存されます。

これらのタイプのアプリケーションは、ユーザーがSDカードをUSBマスストレージとしてマウントする場合は使用できません(Android Jelly Beanから削除された機能)。

質問になりますが、あなたの場合、アプリケーションは内部メモリにインストールされ、.android_secureのファイルは内部の場所に移動されると思います。

これは、次の方法で確認できます。

  1. インストール場所をpreferExternalとして、Playストアからアプリケーションをインストールします。
  2. アプリケーションが外部SDカードにインストールされていることを確認します。[設定]->[アプリ]を使用して確認できます。
  3. 次に、新しい署名付きアプリケーションパッケージを作成します。
  4. を使用してインストールadb install -r myapp.apk
  5. もう一度[設定]->[アプリ]に移動し、場所を確認します。
  6. 機能テストを実行して、何も壊れていないかどうかを確認します。
于 2013-03-25T16:54:33.057 に答える
0

古い質問ですが、私のテストによると、アプリがSDカードにインストールされていて、後でマニフェストをandroid:installLocation = "internalOnly"に変更した場合(または同じandroid:installLocation属性を省略した場合)、アプリはアップグレードされたパッケージマネージャーは、アプリをSDカードから内部ストレージに自動的に移動します。これが不可能な場合(たとえば、内部ストレージに十分なルートがない場合)はどうなるかわかりません。

于 2020-07-31T10:55:14.810 に答える