7

アプリを外部SDカードに移動できないという問題に気づかずに、最初のAndroidモバイルSony Xperia Mを購入しました。詳細については、このリンクを参照してください。

ソニーの唯一のアドバイスは、デバイスをルート化し、パーティションを分割し、サードパーティのアプリを使用して移動することです. 彼らはまた、応援すると保証が無効になる可能性があることにも言及しています.

Sony Xperia Mの私のAndroidの詳細は以下のとおりです

Model number C1904
Android version 4.1.2
Build number 15.1.C.2.8

いくつかのフォーラムから以下のコマンドを実行しようとしましたが、うまくいきません。

adb devices
adb shell pm get-install-location
adb shell pm set-install-location 2

上記のコマンドはエラーを表示しませんが、インストール場所を 2 として取得できます (adb shell pm get-install-location を使用)。だから私はそれが適切に設定されていると信じています。しかし、その後、いくつかのアプリをインストールしようとしましたが、内部メモリにのみインストールされています。

アプリを移動するために「apps2sd」ユーティリティを試しましたが、以下のエラーが表示されます。

'The device does not have a real primary external storage, or the primary external storage is emulated. Moving app to SD function cannot be supported by this device.'

最後に、別のフォーラムから、「adb install」コマンドを使用して apk ファイルをインストールし、以下のように SD カードに直接インストールできることを理解しました。

adb install -s C:\com.furkan0gul.mvanparking.apk

上記のコマンドは、このエラーで失敗します。

3531 KB/s (13523837 bytes in 3.740s)
        pkg: /sdcard/tmp/com.furkan0gul.mvanparking.apk
Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]

外付けカードに十分な空き容量 (合計 8​​ GB メモリのうち 6 GB 以上) があります。これは、以下のコマンドを使用して見つけることができます。

>adb shell df
Filesystem              Size    Used    Free   Blksize
/dev                    402M     64K    402M   4096
/mnt/asec               402M      0K    402M   4096
/mnt/obb                402M      0K    402M   4096
/system                1183M    907M    275M   4096
/cache                  246M      4M    241M   4096
/persist                  3M     80K      3M   4096
/firmware                63M     43M     19M   16384
/data                  2101M   1401M    700M   4096
/lta-label               15M      4M     10M   4096
/storage/sdcard0       2101M   1401M    700M   4096
/storage/sdcard1       7572M   1088M   6483M   32768

「-s」スイッチを指定せずにadb install コマンドを実行すると、以下のように問題なく内部メモリに正常にインストールされます。

> adb install C:\com.furkan0gul.mvanparking.apk
2549 KB/s (13523837 bytes in 5.180s)
        pkg: /data/local/tmp/com.furkan0gul.mvanparking.apk
Success

SDカードへのインストール中に、アプリは「/ sdcard」にインストールされているようですが、「df」コマンド出力にはそのようなものがマウントされていません。この「 INSTALL_FAILED_INSUFFICIENT_STORAGE」もグーグルで検索してみました。それらのほとんどは、これを行うためにエミュレーターでいくつかの変更を行うように求めました。アプリをアンインストールし、デバイスを再起動し、SD カードに再度インストールしようとしましたが、同じストレージ不足エラーで動作しませんでした。

エミュレーターは使用していません。apkをSDカードに直接インストールしています。デバイスをルート化して保証オファーを無効にしたくありません。

誰かがこれについてあなたのアイデアを送ることができれば感謝します.

4

2 に答える 2

4

簡単な回避策があります。テスト デバイスが Android 2.2 以降を実行している場合は、

android:installLocation 

属性をアプリケーションのマニフェスト ファイルに追加します。値は「preferExternal」です。これにより、スマートフォンの SD カードなど、デバイスの外部ストレージにアプリが強制的にインストールされます。

例えば:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.dem"
    android:installLocation="preferExternal">
于 2014-04-17T05:21:25.707 に答える
0

統合ストレージが適用された Fairphone (初版) を持っています。INSTALL_FAILED_INSUFFICIENT_STORAGE の問題は、統合ストレージで解消されているはずです。それにもかかわらず、12 GB の空きディスク容量があるにもかかわらず、数か月後に表示されました。私にとっては、次の手順で問題が解決しました

  1. 電話にsshサーバーをインストールします
  2. ログイン
  3. su (root でない場合)
  4. pm set-install-location 1 (外部メモリに設定)

内部メモリに十分なスペースがあるため、これは外部メモリよりも優先されます(統合ストレージのためにおそらくもうありません)。これは Fairphone に固有の可能性があります。

于 2014-11-19T22:01:39.100 に答える