デフォルトでSDCardにインストールする


29

最初にアプリケーションを内部メモリにダウンロードしてからSDカードに手動で移動する代わりに、デフォルトでmicro SDカードにアプリケーションをインストールするようAndroidに指示する方法があるかどうかを知りたいです。

ありがとう



具体的には@Yeradisの回答android.stackexchange.com/a/4976/156
GAThrawn

4
@GAThrawnいいえ、それはだまされていませんリンクした質問は、むしろ「アプリをSDに移動できるか」です。これは「デフォルトのインストール場所を指定する方法」です。同じ通り、別の家。
イジー

回答:


33

HowtoGeekのこの記事では、利用する方法について説明しています。

このコマンドは、デバイスのデフォルトのインストールターゲットをSDCardに設定します。それは必ずしもすべてがそこにインストールされることを意味しません:これをサポートするアプリだけがそこに行きます、そして開発者は彼らがそれが必要だと思うならば彼らのアプリマニフェストでこれを「無効にする」ことができます。リンクされAPIリファレンス

デフォルトのインストール場所を変更します。ロケーション値:

  • 0:自動-システムが最適な場所を決定します。
  • 1:内部-内部デバイスストレージにインストールします。
  • 2:外部-外部メディアにインストールします。

注:これはデバッグ専用です。これを使用すると、アプリケーションが破損したり、その他の望ましくない動作が発生したりする可能性があります。

ADBの詳細と、ADKの最小バージョンをコンピューターに取得する方法(SDK全体をインストールしすぎることなく)については、 tag-wikiをご覧ください。


更新:t0mm13bの回答との混同を避けるため、インストールプロセスに関する若干の許可:

  1. アプリを見つけてインストールすることにした
  2. 「インストール」をクリックして条件/許可に同意すると、がダウンロード/data/localれます。つまり、それを変えることはできません。
  3. ダウンロードが完了すると、.apk自動的にインストールされます。どこに、複数のものに依存します:
    • 開発者がandroid:installLocation自分のアプリManifestでプロパティを指定しなかった場合、アプリは内部ストーリーにインストールされます。完全な停止、他の選択肢はありません(APIリファレンスを参照)。
    • これandroid:installLocationがに設定されpreferExternal、外部ストレージが利用可能な場合、そこに移動します。
    • に設定されているauto場合、再び依存します:
      1. アプリにウィジェット、サービスが含まれていて、起動時に起動したい、その他いくつかのことは、内部ストレージに行きます。フルストップ、他の選択肢はありません。
      2. デバイスの「デフォルトのインストール場所」が指す場所に移動します

警告を含めるのに役立つ可能性があります-特にアプリに独自のウィジェットがある場合は、動作が保証されません... :)
t0mm13b

私が書いたように、これをサポートするアプリだけがそこに行きます :)ウィジェット、サービスなどは、それをサポートしないと言っています:)
Izzy

コマンドadb shell pm setInstallLocation 2エラーの実行後:デバイスが見つかりません
-moudrick

1
最初の2つの手順をスキップした(USBデバッグを有効にし、その後デバイスを接続した)か、Windowsを使用していて、対応するドライバーをインストールしなかったようです。対応するリンクたどり、そこから進んでください、@ moudrick。
イジー

5

それは変更できません!これがAndroidの仕組みです。

Google Playからのすべてのダウンロードは内部ファイルシステムに送られ、次に次の場所からダウンロードされます。

  • 設定>アプリケーションの管理
  • 上記のアプリをタップし、[ SDカードに移動 ]ボタンが有効になっているかどうかを確認してください。

[ SDカードに移動 ]ボタンが無効またはグレー表示になっている場合、おそらくホーム画面上の独自のウィジェットなど、アプリが機能しなくなる可能性があります。

また、この回答は、このページの右側にある関連するサイドバーでご覧ください。:)


1
本当に、t0mm13bですか?ここでadb shell pm setInstallLocation 2説明されているように、ADBコマンド(SDCardなど)がありませんでしか?
イジー

1
開発者は、マニフェストでそれを指定して、アプリにSDCardに移動する機能を与えることができます。android:installLocation="auto"見たことがないadb shell pm setInstallLocation 2、おそらくあなたはその場合にパッケージ名を指定します
...-t0mm13b

1
いいえ、t0mm13b- 私の答えとリンクされた記事をご覧ください。これにより、デバイスのデフォルトのインストール場所が設定されます。したがって、Manifest「auto」と表示されている場合は、そこに行きます。Manifestが「自動」以外の場合は、言うところに行きManifestます。参照:APIのリファレンスを、またここにするためにpm set-install-location(新しい構文)コマンド。
イジー

1
Izzy-AndroidManifestについて指定したことandroid:installLocation- アプリ管理設定からMove to SDCardを実際に有効にします...一部の開発者はそれを指定せず、ボタンを無効にしますが、認めています
t0mm13b

1
ああ、今私はそれを得る-別の焦点:あなたは「アプリがSDにインストールされることを意図していない場合、あなたはそうすることはできません」と言っていました- 他に指定されない限り、デフォルトでそれがどこに行くかに焦点を当てていました。しかし、答えの最初の4行をチェックしてください。彼らは何か違うことを言っています。しかし、あなたは正しいです。ダウンロードは最初にに行き/data/local、そこからアプリがインストールされます。ただし、設定とマニフェストに応じて、内部または外部から直接インストールされます。//これについて詳しく議論したい場合:パブ、アエム、チャットを覚えていますか?:)
イジー

4

「Android向けターミナルエミュレーター」をモバイルにインストールして開きます

$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]

2
おもしろいですが、これを機能させるにはルートが必要です
ロバートS.バーンズ

-2

[アプリの管理]に移動し、[すべて]タブを選択して[Google Playストア]を見つけます。それをタップして、「アップデートのアンインストール」ボタンを押します。その後、Playストアにアクセスして、すべてのアプリがSDカードにインストールされます。これがQMobile A110(Android 4.2)で行ったことです。


1
デフォルトのインストール場所をSDカードに設定する途中のステップが欠けていると思いますが、それでもすべてのアプリケーションでこのように動作するとは限りません。
エニグマ14年

-3

お使いの携帯電話がルート化されている場合、デフォルトのインストールディレクトリを変更することができます。ラッキーパッチャーをダウンロードし、そこにあるツールをタップして、デフォルトのインストールディレクターを変更するオプションを見つけることができます。** Android 4以降ではこれを行わないでください。変更すると、元に戻せない変更が発生する可能性があります。**


2
Android Version Market Share 2016に よると、すべてのAndroidユーザーの97.7%が、この回答が投稿された日付でAndroid 4.0以降を使用しているため、Lucky Patcherは、ほぼすべての現在のAndroidユーザーに不可逆的な変更を引き起こす可能性があります。
カレル

2
それはどのような「不可逆的な変化」でしょうか?Kitkatデバイスではそれらに気付きませんでした:)しかし、@ karelが指摘したように、それを使用すべきではないと思うなら、なぜそれをお勧めしますか?
イジー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.