ガイド

Android File Transferと4 GBの壁

小さなファイルはコピーできるのに、長い動画だけが失敗する。Android File Transferは4 GBを超えるファイルを一度も移せませんでしたし、FAT32のSDカードにも独自の4 GB制限があります。その理由と、代わりに使える方法を紹介します。

GoogleがAndroidスマホ向けに出していた古いMacアプリ、Android File Transferは、4 GBより大きなファイルをコピーできません。それより小さなものは移せますが、長い4K動画、映画、ディスクイメージ、バックアップのアーカイブは失敗します。Googleはこの制限を説明しませんでした。考えられる原因は、このアプリが使っていたプロトコルMTPの32ビットのサイズ欄です。MTPやadbを使うほかのツールに、この制限はありません。

回避するには、別のツールを使います。大きなファイルを扱えるMTPアプリ、adb、あるいはFinderにマウントしたスマホです。ただし、どのツールでも解決できないケースが1つあります。ファイルの行き先がFAT32でフォーマットされたSDカードなら、カード自体が4 GB以上のファイルを保存できません。

見分け方

GoogleはAndroid File Transferの提供を終了しています。以前のページは今ではWindowsユーザー向けにQuick Shareを案内していて、そのMac版はありません。まだこのアプリを持っているなら、この制限も乗り換える理由の1つです。選択肢はAndroid File Transferの代わりになるもので紹介しています。

制限がある理由

MTPは、スマホ上のファイルを1つずつ、ObjectInfoデータセットという小さなレコードで記述します。このレコードには、ファイルの名前、形式、親フォルダ、サイズが入ります。サイズ欄の「Object Compressed Size」は、符号なしの32ビットの数値です。入れられる最大の値は4,294,967,295で、4 GiBにちょうど1バイト足りません。

MTPは、大きなファイルのために対策を追加する必要がありました。ファイルがこの欄に収まらないほど大きい場合は、欄に許される最大の値0xFFFFFFFFを入れ、本当のサイズは別の64ビットのプロパティ「Object Size」に入れます。コンピュータはこれを別のリクエストで問い合わせる必要があります。Android自身のMTPのコードも同じように説明しています。オブジェクトのレコードにあるサイズは32ビットで、4 GBを超えるものは別の操作で取得するプロパティから得る、というものです。

32ビットの欄しか読まないツールや、スマホにコピーするときに64ビットの値を送らないツールは、4 GBを超えるファイルを扱えません。Android File Transferの動きは、まさにそうしたツールと同じです。Googleがそう明言したことはないので、これは文書で裏付けられた説明ではなく、考えられる説明です。MTPの仕組みについてはMTPのしくみでくわしく説明しています。

FAT32のSDカードには独自の4 GB制限がある

FAT32も各ファイルのサイズを32ビットで保存するので、FAT32のカードには4 GiBに達するファイルを置けません。これはカードのフォーマットの性質で、ケーブルやアプリの問題ではありません。AndroidのMTPのコードは、何かを移す前にこれを確かめます。FAT32のカードのように、行き先のストレージに最大ファイルサイズがある場合、スマホは4 GB以上のファイルを大きすぎるとして拒否します。

exFATはサイズを64ビットで保存するので、こうした制限はありません。両方の形式に対応したスマホで、標準のAndroidが自分でカードをフォーマットする場合、約32 GBまでのカードにはFAT32を、それより大きなカードにはexFATを選びます。つまり、容量の小さなカードほどFAT32である可能性が高くなります。

確かめるには、カードリーダーでカードをMacに挿し、ディスクユーティリティで見るか、Finderでカードを選択してファイル > 情報を見るを選びます。FAT32はMS-DOS (FAT32)と表示されます。変更するにはカードをフォーマットする必要があり、中身はすべて消えるので、先にすべてコピーしておいてください。MacでexFATにフォーマットした場合は、データを入れる前にスマホがカードを読めるか確かめてください。カードについてはAndroidのSDカードをMacで使うにくわしく書いています。カードリーダーでカードにファイルを入れると、Macはカードに._ファイルも残します。

回避する方法

ツール4 GBを超えるファイルスマホ側で必要なこと作業する場所
Android File Transfer不可ファイル転送モード専用のウインドウ。Googleはすでに提供を終了
OpenMTP可能ファイル転送モード専用の2ペインのウインドウ
adbのpushとpull可能USB デバッグターミナル
SideMount可能USB デバッグFinderと、Macのすべてのアプリ
ファイルを分割する可能(あとで結合する分割ファイルとして)使うツールが必要とするものターミナルまたはアーカイブアプリ
AndroidスマホとMacのあいだで4 GBを超えるファイルを扱うツール。どれを使っても、FAT32のカードにはそうしたファイルを置けません。

大きなファイルを扱えるMTPアプリ

OpenMTPは無料のオープンソースで、Android File Transferと同じファイル転送モードのスマホで動き、4 GBを超えるファイルを転送できるとはっきり書いています。Macとスマホを、専用のウインドウの2つのペインに表示します。USB デバッグを絶対にオンにしたくないなら、これがいちばん近い代わりです。

adb

adb(Android Debug Bridge)は、どんなサイズのファイルでもコピーできます。GoogleのPlatform-Toolsをインストールし、USB デバッグをオンにして(USB デバッグをオンにする方法)、スマホでMacを許可し、ターミナルからコピーします。

adb pull /sdcard/DCIM/Camera/VID_20261016_101500.mp4 ~/Movies/
adb push ~/Movies/film.mkv /sdcard/Movies/

上のファイル名は例です。実際の名前はadb shell ls /sdcard/DCIM/Cameraで一覧できます。USB デバッグで何が許可されるか、それをどう取り消すかはadbとMTPの違いで説明しています。

Finderでスマホを使う

SideMountはケーブル越しに自分でadbを話し、スマホをFinderのボリュームとしてマウントします。そのため、大きなファイルもFinderでふつうにコピーするだけで、ほかのアプリも先にコピーせずにスマホ上のファイルを開けます。4 GBの制限はありません。テストに使っているファイルの1つは4.5 GBの動画です。macOS 26以降とUSB デバッグが必要で、どちらもセットアップガイドで説明しています。

ファイルを分割する

制限のあるツールしか使えない場合は、ファイルを4 GB未満の部分に分けてコピーし、向こう側で結合します。Macのターミナルでは次のようにします。

split -b 3900m film.mkv film.mkv.part-
cat film.mkv.part-* > film.mkv

1行目で分割ファイルを作り、2行目でそれを結合します。スマホ側で結合するにはそれができるアプリが必要で、結合したファイルを置くには、それを保存できるストレージが必要です。FAT32のカードでは無理です。この方法でも移せますが、選択肢の中ではいちばん手間がかかります。

よくある質問

4 GBの制限はAndroidにあるのですか、それともMacのアプリにあるのですか?

わかるかぎりでは、Android File Transferのほうです。AndroidのMTPは、スマホの内部ストレージへもっと大きなファイルを運べますし、OpenMTP、adb、SideMountといったほかのMacのツールはそうしたファイルをコピーできます。例外はFAT32のSDカードで、どのツールを使っても4 GB以上のファイルは保存できません。

なぜGoogleは4 GBに制限したのですか?

Googleは理由を明らかにしていません。考えられるのは、MTPのオブジェクトのレコードです。ファイルのサイズを32ビットの欄に保存していて、その上限は4 GiBのわずかに手前です。それより大きなサイズには別の64ビットのプロパティが必要ですが、このアプリはそれを一度も使わなかったようです。

ほかのアプリを使っても、大きなファイルをSDカードにコピーできないのはなぜですか?

カードがFAT32でフォーマットされている可能性が高いです。FAT32は4 GiB以上のファイルを保存できません。どのアプリから送っても、スマホはそのファイルを拒否します。代わりに内部ストレージにコピーするか、カードの中身をバックアップしてからexFATで再フォーマットしてください。

exFATにファイルサイズの制限はありますか?

実際に出会うような制限はありません。exFATはファイルサイズを64ビットで保存します。標準のAndroidは、約32 GBより大きなカードをフォーマットするときにexFATを使い、それより小さなカードにはFAT32を使います。

AndroidスマホがFinderに。

7日間無料、カード登録不要。macOS 26以降。

macOS版をダウンロード