私はAndroid1.6(Android SDK 2.1)で開発しています。Eclipseでavdマネージャーを使用してavdを作成します。このavdを起動すると、/sdcardディレクトリの許可が「d---------」であることがわかりました。そのため、ファイルをSDカードにプッシュできません。
誰かがこの問題を解決する方法を知っていますか?
私はAndroid1.6(Android SDK 2.1)で開発しています。Eclipseでavdマネージャーを使用してavdを作成します。このavdを起動すると、/sdcardディレクトリの許可が「d---------」であることがわかりました。そのため、ファイルをSDカードにプッシュできません。
誰かがこの問題を解決する方法を知っていますか?
これが機能することがわかりました
$./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
あるシェルからエミュレーターを起動したら、別のシェルにログインして入力します
adb shell
表示されるはずです# prompt
。これはデバイス (エミュレーター) シェルです。ここで、adb shell で次のコマンドを入力します。
mount -o remount rw /sdcard
これ/sdcard
で許可を得て再マウントされ、ホスト シェルから次のコマンドを使用しrw(read-write)
てファイルをプッシュできるようになりました。/sdcard
`adb push filename.mp3 /sdcard,`
filename.mp3 は、Android Emulator にプッシュする任意のファイルです。
お役に立てれば :)
エミュレーターのAVDマネージャー・ユーティリティーで2つのことを確認してください。
SDカードのサイズが記載されています(例:512)。
ハードウェアタグから[新規]を押し、ドロップダウンメニューから[SDカードサポート]を選択します。
次に、エミュレータを起動します。SDカードは書き込みもサポートするようになります。
Android Studio バージョン 0.8.9 以降には、AVD を作成するバグがあります。
問題 78434を参照してください。
回避策
hw.sdCard=no
に変更hw.sdCard=yes
これは、新しいビルドのすべての人に機能するはずです
ばかげているように聞こえるかもしれませんが、同じ問題が発生したときにうまくいきました。作成した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
お役に立てば幸いです。
ここでの問題は、 SDカードのサイズを設定するのを忘れたことだと思います
機能させるには、次の手順に従います。
これは私のエミュレーターでうまくいきます!
その特定のエミュレーターの「AVDの作成」ウィンドウで、SDカードのサイズにゼロより大きい値を指定したことを確認してください。
マウント -o 再マウント、rw /sdcard
これは、エミュレーターを使用して SD カードを再マウントする正しい方法です。
私は@ 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では、不気味な読み取り専用のものではなく、転送時間を表示する必要があります
avdの作成時にメモリサイズを挿入しなかったと思います。avdを編集することでそれを行うことができます。
make sure that you have the correct permissions.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
最後に私と一緒に、エミュレーターでアプリケーションマネージャーを実行し、ストレージのアクセス許可を設定するのに役立ちました。
時々、これは非常に単純な理由で発生する可能性があります.Eclipseでリストに移動し、SDCardサイズを設定しているかどうかを確認してください
それは間違いなく動作します
adb バージョン 1.0.32 および Eclipse Luna (v 4.4.1)。
adb コマンドを使用して書き込むことができる avd /mnt/media_rw/sdcard 内のディレクトリを見つけました。adb push {ソース} /mnt/media_rw/sdcard
このディレクトリへの rw アクセスがあるようです。
お役に立てれば :-)
ターミナルエミュレーターでルートとしてこれを試してください:
restorecon -v -R /data/media