Android 6.0 Marshmallowを入れてみたら、USBケーブルで接続してもアンドロイド端末内のファイルにアクセスできなくなりました。既知のバグのようです。
あとで探したら回避方法がありましたが、そのときには気づかず、Google AppsをADB.exeを使ってアンドロイド端末に送信しました。
そのときのADB.exeのコマンド使用例です。
ADB.exe
ADB.exeはアンドロイドの開発キット、Android SDKに含まれているプログラムです。DLLと一緒に置いておけばSDK本体がなくても動作します。
が、ドライバをパソコンにインストールする必要があるので、通常Android SDKのインストールが必要です。
Android SDKのインストール

ADBドライバのインストール

Windows 8、Windows 10では、未署名ドライバのインストール設定が必要になる場合があります。

ADBなどの機能

ADBモードで接続する
ADBを使うためにはまず、アンドロイド端末の開発者オプションを有効化する必要があります。設定中の端末情報からビルド番号を7回タップすると有効化します。
開発者オプションの中にある、USBデバッグを有効化した状態でUSB接続すれば、ADBモードでパソコンに接続できます。
つなげただけでは”unauthorize”という状態で端末の操作ができませんので、アンドロイド端末上に出てくる認証画面で操作の許可を出す必要があります。間違って消してしまった場合、一度ケーブルを抜いて再接続したり、USBデバッグを一旦無効化して再度有効化するなどの操作をすればまた出てきます。
ADB.exeで接続開始
ADB.exeはAndroid SDKのplatform-toolsフォルダ内に入っています。
コマンドプロンプトを開き(スタートメニューでcmd.exeを起動する)、該当ディレクトリまで移動します。
adb devices
と入力すれば、ADBサービスが自動的に起動して接続してくれます。デバイスIDと接続状態をリストアップしますが、接続状態がunauthorizedになっていたり、接続できていない場合があります。
その場合、上記の方法を試したり、
adb kill-server adb devices
で接続できるようになることがあります。
ファイル送信コマンド
ADBを使ったファイル送信コマンドはパソコンからアンドロイドへの送信(PUSH)とアンドロイドからパソコンへの送信(PULL)があります。
いずれも、<送信側><受信側ディレクトリ>をコマンドラインで指定します。
例えば”c:\android\test-files.zip”をsdcardディレクトリへ送信したい時には
adb push C:\android\test-files.zip /sdcard/
のように指定します。(カレントディレクトリの場合、フルパスは不要)
受信側ディレクトリはROOTから指定する必要があり、アンドロイドのファイルブラウザでは見えないかもしれません。
シェル機能
ADB.exeにはAndroidのシェルを利用する機能も備わっています。
adb shell
で起動でき、
cd .. cd .. ls
などのコマンドを送信するとルートからのディレクトリ構造がわかります。 私のアンドロイド端末では、内部ストレージは/sdcard/に割り当てられていましたので、内部ストレージにファイルを送信するには、送信先ディレクトリに/sdcard/を指定すれば内部ストレージに保存できます。
送信スピード、エラー
ADBコマンドを使用する場合、USB 2.0接続でつなげたほうがエラーが起こりにくいと言われています。先ほど試したときには3.5MB/秒程度の転送速度でした。
ファームウェアやGoogle Appsなどアンドロイド端末の復旧に必要なファイルは500MB以上あったりしますから、転送に1分以上かかることがあります。
転送している間、グラフィカルな進捗バーが表示されることはなく、画面は全く動きませんがしばらく待っていれば終わります。低品質なケーブルでは転送速度が遅い上に転送エラーが出るため、失敗した場合別のケーブルを使うと上手く行きます。
再起動
必要なファイルが転送できたら、
adb reboot recovery adb reboot bootloader
などのコマンドを送信してリカバリーを起動させるか、アンドロイド端末上の操作でリカバリーを起動します。
コメント