71

私はAndroid1.6(Android SDK 2.1)で開発しています。Eclipseでavdマネージャーを使用してavdを作成します。このavdを起動すると、/sdcardディレクトリの許可が「d---------」であることがわかりました。そのため、ファイルをSDカードにプッシュできません。

誰かがこの問題を解決する方法を知っていますか?

4

20 に答える 20

131

これが機能することがわかりました

$./adb shell
$su
mount -o rw,remount rootfs /
chmod 777 /mnt/sdcard
exit

ソース: http://www.coderanch.com/t/611842/Android/Mobile/Android-emulator-sdcard-writable

于 2013-10-07T09:48:12.883 に答える
47

あるシェルからエミュレーターを起動したら、別のシェルにログインして入力します

adb shell

表示されるはずです# prompt。これはデバイス (エミュレーター) シェルです。ここで、adb shell で次のコマンドを入力します。

mount -o remount rw /sdcard

これ/sdcardで許可を得て再マウントされ、ホスト シェルから次のコマンドを使用しrw(read-write)てファイルをプッシュできるようになりました。/sdcard

`adb push filename.mp3 /sdcard,`

filename.mp3 は、Android Emulator にプッシュする任意のファイルです。

お役に立てれば :)

于 2010-07-21T06:04:28.217 に答える
18

エミュレーターのAVDマネージャー・ユーティリティーで2つのことを確認してください。

  1. SDカードのサイズが記載されています(例:512)。

  2. ハードウェアタグから[新規]を押し、ドロップダウンメニューから[SDカードサポート]を選択します。

次に、エミュレータを起動します。SDカードは書き込みもサポートするようになります。

于 2012-10-09T09:59:41.477 に答える
10

Android Studio バージョン 0.8.9 以降には、AVD を作成するバグがあります。

問題 78434を参照してください。

回避策

  • .android フォルダーの ADV フォルダーに移動し、AVD config.ini を見つけます。
  • UNIX の改行を処理できるテキスト エディタで開きます。(CR-LF がないため、メモ帳はこれらの行をまとめて実行します。)
  • hw.sdCard=noに変更hw.sdCard=yes

これは、新しいビルドのすべての人に機能するはずです

于 2014-10-31T14:07:21.360 に答える
7

ばかげているように聞こえるかもしれませんが、同じ問題が発生したときにうまくいきました。作成したavdを削除し、たとえば512MBのsdカードを使用してAVDManagerから再度作成します。

両方に正しい権限があることを確認し、そうでない場合は、chmodを使用して変更してみてください。

それでもすべてが失敗する場合は、プロセスを繰り返しますが、ターミナルを介して手動でavdカードとsdカードの両方を作成します。

android create avd -n my_avd -t 7
mksdcard -l e 512M mysdcard.img
emulator -avd my_avd -sdcard mysdcard.img

お役に立てば幸いです。

于 2010-03-14T10:02:29.243 に答える
7

ここでの問題は、 SDカードのサイズを設定するのを忘れたことだと思います

機能させるには、次の手順に従います。

  1. step1: 実行中のエミュレータを閉じる
  2. step2: Android Virtual Device Manager (Eclipse メニューバー) を開きます
  3. step3: エミュレーターを選択 -> 編集 -> SD カードのサイズを設定

これは私のエミュレーターでうまくいきます!

于 2013-07-28T19:03:46.277 に答える
4

その特定のエミュレーターの「AVDの作成」ウィンドウで、SDカードのサイズにゼロより大きいを指定したことを確認してください。

于 2011-07-10T12:56:04.080 に答える
3

マウント -o 再マウント、rw /sdcard

これは、エミュレーターを使用して SD カードを再マウントする正しい方法です。

于 2011-10-20T23:19:54.110 に答える
3

私は@ user2002993の大きな助けを試しましたが、少し編集する必要がある場所の1つなので、編集して、ここでAndroid Studio、エミュレータAndroid 5でうまくいったものを示します.

adb フォルダーに移動し、空白の領域を右クリックして [ここでコマンド ウィンドウを開く] を選択するか、adb-installer で adb をインストールした場合は、次のコマンドを開きcmd、次のコマンドを入力します。

adb devices

エミュレータの番号と詳細が表示されます。次に、ここでコマンドを実行します:

adb shell

これでプロンプト # が表示されるはずです

su

mount -o rw,remount rootfs

chmod 777 /mnt/sdcard

exit

exit

ええ、二重の終了が必要です。これで、adb shell のプロンプトが表示されなくなりました。ファイルを adb フォルダーに配置し、このコマンドを実行して、修正されたかどうかを確認します。

adb push "your file name like : 1.jpg" /sdcard/

また

adb push "your file name like : 1.jpg" /storage/sdcard/

今cmdでは、不気味な読み取り専用のものではなく、転送時間を表示する必要があります

于 2014-10-29T11:04:12.323 に答える
1

avdの作成時にメモリサイズを挿入しなかったと思います。avdを編集することでそれを行うことができます。スクリーンショット

于 2014-01-30T09:36:19.670 に答える
0

make sure that you have the correct permissions.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
于 2012-02-13T19:52:15.677 に答える
0

最後に私と一緒に、エミュレーターでアプリケーションマネージャーを実行し、ストレージのアクセス許可を設定するのに役立ちました。

于 2016-03-03T22:01:15.143 に答える
0

時々、これは非常に単純な理由で発生する可能性があります.Eclipseでリストに移動し、SDCardサイズを設定しているかどうかを確認してください

于 2013-12-04T21:44:30.653 に答える
0
  1. エミュレーターで Sdcard に任意のサイズを与える
  2. c:\user...android\avd -> プロパティから読み取り専用オプションのチェックを外しました
  3. ファイル エクスプローラーからファイルをプッシュする
  4. エミュレータを再起動します

それは間違いなく動作します

于 2015-04-06T12:41:18.213 に答える
0

adb バージョン 1.0.32 および Eclipse Luna (v 4.4.1)。

adb コマンドを使用して書き込むことができる avd /mnt/media_rw/sdcard 内のディレクトリを見つけました。adb push {ソース} /mnt/media_rw/sdcard

このディレクトリへの rw アクセスがあるようです。

お役に立てれば :-)

于 2014-12-20T05:09:39.153 に答える
0

ターミナルエミュレーターでルートとしてこれを試してください:

restorecon -v -R /data/media
于 2016-11-06T12:26:01.990 に答える