Android USB接続の説明:MTP、PTP、およびUSB大容量記憶装置

古いAndroidデバイスは、コンピューターとファイルをやり取りするためのUSB大容量記憶装置をサポートしています。最新のAndroidデバイスはMTPまたはPTPプロトコルを使用しています—お好みのプロトコルを選択できます。

USB接続プロトコルを選択するには、設定アプリを開き、[ストレージ]をタップし、メニューボタンをタップして、[USBコンピューター接続]をタップします。USB経由でコンピューターに接続すると、デバイスが通知として使用しているプロトコルも表示されます。

最新のAndroidデバイスがUSB大容量記憶装置をサポートしない理由

USBマスストレージ(「USBマスストレージデバイスクラス」、USB MSC、またはUMSとも呼ばれます)は、古いバージョンのAndroidがストレージをコンピューターに公開する方法でした。Androidデバイスをコンピューターに接続するときは、特に[ストレージをPCに接続]ボタンをタップして、USB大容量ストレージを介してAndroidデバイスのストレージにコンピューターからアクセスできるようにする必要があります。コンピュータから切断するときは、「USBストレージをオフにする」ボタンをタップする必要があります。

USB大容量ストレージは、フラッシュドライブ、外付けハードドライブ、SDカード、およびその他のUSBストレージデバイスで使用される標準プロトコルです。ドライブは、まるで内蔵ドライブであるかのように、コンピュータで完全に利用できるようになります。

これが機能する方法に問題がありました。ストレージにアクセスしているデバイスはすべて、ストレージへの排他的アクセスが必要です。ストレージをコンピューターに接続すると、デバイスで実行されているAndroidオペレーティングシステムから切断されました。SDカードまたはUSBストレージに保存されているファイルやアプリは、コンピューターに接続すると使用できなくなります。

システムファイルはどこかに保存する必要がありました。それらはデバイスから切断されることは決してないため、同じ内部ストレージデバイス上に「システムストレージ」用の個別の/ dataパーティションと「USBストレージ」用の/ sdcardパーティションを含むAndroidデバイスになりました。Androidはアプリとそのシステムファイルを/ dataにインストールし、ユーザーデータは/ sdcardパーティションに保存しました。

このハードスプリットのために、アプリ用のスペースが少なすぎてデータ用のスペースが多すぎたり、アプリ用のスペースが多すぎてデータ用のスペースが少なすぎたりする可能性があります。デバイスをルート化せずにこれらのパーティションのサイズを変更することはできませんでした—メーカーは工場で各パーティションに適切な量を選択しました。

関連:リムーバブルドライブがNTFSではなくFAT32を使用しているのはなぜですか?

ファイルシステムはWindowsデバイスからアクセスできる必要があるため、FATファイルシステムでフォーマットする必要がありました。MicrosoftはFATに適用する特許を持っているだけでなく、FATは、最新の許可システムのない、古くて遅いファイルシステムでもあります。Androidは、Windowsで直接読み取る必要がないため、すべてのパーティションに最新のext4ファイルシステムを使用できるようになりました。

Androidフォンまたはタブレットを標準のUSBストレージデバイスとしてコンピューターに接続するのは便利ですが、欠点が多すぎます。狂気は止まらなければならなかったので、最近のAndroidデバイスは異なるUSB接続プロトコルを使用しています。

MTP –メディアデバイス

MTPは「メディア転送プロトコル」の略です。Androidがこのプロトコルを使用すると、コンピューターには「メディアデバイス」として表示されます。メディア転送プロトコルは、Windows MediaPlayerや同様のアプリケーションを使用してオーディオファイルをデジタル音楽プレーヤーに転送するための標準化されたプロトコルとして広く宣伝されました。これは、他のメディアプレーヤー企業がAppleのiPodやiTunesと競争できるように設計されています。

このプロトコルは、USB大容量記憶装置とは大きく異なります。 MTPは、AndroidデバイスのrawファイルシステムをWindowsに公開するのではなく、ファイルレベルで動作します。 Androidデバイスは、ストレージデバイス全体をWindowsに公開しません。代わりに、デバイスをコンピューターに接続すると、コンピューターはデバイスにクエリを実行し、デバイスは提供するファイルとディレクトリのリストで応答します。コンピューターはファイルをダウンロードできます—デバイスからファイルを要求し、デバイスは接続を介してファイルを送信します。コンピューターがファイルをアップロードする場合、コンピューターはファイルをデバイスに送信し、デバイスはファイルの保存を選択します。ファイルを削除すると、コンピュータは「このファイルを削除してください」という信号をデバイスに送信し、デバイスはファイルを削除できます。

Androidは、提示するファイルを選択し、システムファイルを非表示にして、表示または変更できないようにすることができます。変更できないファイルを削除または編集しようとすると、デバイスはリクエストを拒否し、エラーメッセージが表示されます。

コンピューターはストレージデバイスへの排他的アクセスを必要としないため、ストレージを接続したり、切断したり、さまざまな種類のデータ用に個別のパーティションを作成したりする必要はありません。Androidは、ext4またはその他の必要なファイルシステムを使用することもできます。Windowsはファイルシステムを理解する必要はなく、Androidのみが理解します。

実際には、MTPはUSB大容量記憶装置のように機能します。たとえば、MTPデバイスがWindowsエクスプローラーに表示されるため、ファイルを参照および転送できます。Linuxは、一般的なデスクトップLinuxディストリビューションに一般的に含まれているlibmtpを介してMTPデバイスもサポートします。MTPデバイスは、Linuxデスクトップのファイルマネージャーにも表示されます。

AppleのMacOS Xはホールドアウトであり、MTPサポートはまったく含まれていません。AppleのiPod、iPhone、iPadは、iTunesとともに独自の同期プロトコルを使用しているのに、なぜ競合するプロトコルをサポートしたいのでしょうか。

GoogleはMacOS X用のAndroidファイル転送アプリケーションを提供しています。このアプリケーションは単なるMTPクライアントであるため、Mac上でファイルをやり取りするために機能します。Googleは、MTPサポートが含まれているため、このアプリケーションを他のオペレーティングシステムに提供していません。

PTP –デジタルカメラ

PTPは「PictureTransferProtocol」の略です。Androidがこのプロトコルを使用すると、コンピューターにはデジタルカメラのように見えます。

MTPは実際にはPTPに基づいていますが、より多くの機能、つまり「拡張機能」を追加しています。PTPはMTPと同様に機能し、デジタルカメラで一般的に使用されています。PTPモードを選択すると、デジタルカメラからの写真の取得をサポートするソフトウェアプログラムはすべて、Androidフォンからの写真の取得をサポートします。PTPは、デジタルカメラと通信するための標準プロトコルとして設計されました。

このモードでは、AndroidデバイスはPTPをサポートするがMTPをサポートしないデジタルカメラアプリケーションで動作します。AppleのMacOS XはPTPをサポートしているため、PTPモードを使用して、特別なソフトウェアを使用せずに、USB接続を介してAndroidデバイスからMacに写真を転送できます。

古いAndroidデバイスを使用している場合は、USB大容量ストレージの使用を余儀なくされる可能性があります。最新のAndroidデバイスでは、MTPとPTPのどちらかを選択できます。PTPのみをサポートするソフトウェアがない限り、MTPを使用する必要があります。

デバイスにリムーバブルSDカードがある場合は、SDカードを取り外して、コンピューターのSDカードスロットに直接挿入できます。SDカードは、ストレージデバイスとしてコンピューターで使用できるため、SDカード上のすべてのファイルにアクセスしたり、ファイル回復ソフトウェアを実行したり、MTPでは実行できないその他の操作を実行したりできます。

画像クレジット:FlickrのVegetando