AndroidではSDカード内のファイル編集に失敗することがあり、これは近年導入されている「外部ストレージへのアクセス権限」が関係しています。
そこで本記事では、AndroidのSDカードへアクセス許可する方法を紹介します。
サードパーティ製アプリでも外部ストレージの書き込み権限を付与できるので、ぜひご覧あれ。
AndroidのSDカードへアクセス許可する方法
- 説明①外部ストレージの書き込み制限とは?
- 説明②方法:SDカードのルートディレクトリで権限を許可する
外部ストレージの書き込み制限とは?
例えばファイルコマンダーで、SDカードに対して何らかの操作(例:ファイル移動 / 削除)をすると、次のメッセージが表示されます。
操作の権限を許可するストレージ(または外部SDカード)のルートディレクトリを選択してください
またGoogleフォトからSDカード内の写真削除をすると、次のメッセージが表示されます。
フォトはSDカードへのアクセスが必要です 設定を確認して、SDカードからアイテムを削除できるようにSDカードへのアクセスを許可します。
表示されるメッセージはアプリによって異なりますが、「SDカード内のファイルを編集できない」という点は共通しています。
これは、Android 4.4よりアプリのSDカードへの書き込み(例:フォルダ作成 / データ消去)が制限されたのが原因であり、基本的にプリインストールのファイル管理アプリのみアクセス権を持ちます。
ただAndroid 5.0以降ではサードパーティ製アプリでも、個別にSDカードへのアクセス許可を与えることで、この制約を突破することが可能です。
方法:SDカードのルートディレクトリで権限を許可する
SDカードを編集したいアプリごと個別に設定変更が必要となり、操作手順はそれぞれ異なります。
ただどのアプリでも、操作の流れは共通しています。
- アプリでSDカードのルートディレクトリを開く
- SDカードのルートディレクトリでアクセスを許可する
問い合わせの多いアプリの代表として、ファイルコマンダーとGoogleフォトを例に、それぞれ順番に解説します。
ファイルコマンダーでSDカードのアクセスを許可する
ファイルコマンダーでSDカード内を開き、
何らかの操作を行います(フォルダ作成、ファイル移動など何でもOK)。
すると次のメッセージが表示されるので OK へ進み、
操作の権限を許可するストレージ(または外部SDカード)のルートディレクトリを選択してください
メッセージに従い、SDカードのルートディレクトリを選択します。
メニューから 外部SDカード を開き、
「外部SDカード」へのアクセスを許可 をタップして、許可 すればOK。
実際にSDカードでフォルダを作成したり、ファイルを移動して正常に動作すれば成功です。
またOSバージョンによっては、SDカードのルートディレクトリを開いた後、選択 ボタンを押すタイプもあります。
GoogleフォトでSDカードのアクセスを許可する
GoogleフォトからSDカード内の写真削除をすると、次のメッセージが表示されるので 設定を変更 へ進みます。
フォトはSDカードへのアクセスが必要です 設定を確認して、SDカードからアイテムを削除できるようにSDカードへのアクセスを許可します。
もし消す写真がない場合、フォトの設定 → SDカードへのアクセス → 開始する と進んでもOK。
SDカードのルートディレクトリを開くため、メニューから 外部SDカード を選択します。
「外部SDカード」へのアクセスを許可 をタップして、許可 すればOK。
GoogleフォトからSDカード内の写真削除ができれば成功です。
またOSバージョンによっては、SDカードのルートディレクトリを開いた後、選択 ボタンを押すタイプもあります。
補足:スマホのSDカード書き込み権限に関わるアレコレ
SDカードのアクセス権限に関する、細かい情報を補足します。
- 補足①アクセス権許可でエラーが出る原因と解決策
- 補足②アクセス権許可を解除する方法
- 補足③その他SDカードにファイルを移動できない原因と解決策
- 補足④開発者向けオプション「外部ストレージへのアプリの書き込みを許可」について
- 補足⑤書き込み制限のない標準ファイル管理アプリを使う方法
アクセス権許可でエラーが出る原因と解決策
うまくSDカードの権限を許可できない場合、下記4点を確認して下さい。
- Androidバージョンが5.0より古い
- アプリが外部ストレージの書き込み権限付与に対応していない
- SDカードを非表示にしている
- SDカードに問題がある
Androidバージョンが5.0より古い
今回の内容はAndroid 5.0以上が対象となり、Android 4.4では設定できません。
例えばXperia Z1(Android 4.4.2)のファイルコマンダーでSDカードのアクセスを許可しようとしても、下記メッセージが表示されて失敗します。
読み取り専用アクセス アプリケーションのSDカード上のこのフォルダへのアクセス権は、読み取り専用です。
またXperia Z1(Android 4.4.2)のGoogleフォトからSDカード内の写真削除をすると、下記メッセージが表示されて失敗します。
ファイル●個を削除できません GoogleフォトからSDカードのファイルを削除することはできません。 ギャラリーアプリから削除してください。
これは仕様であるため、残念ながらOSバージョンアップしない限り、解決策はありません。
OSバージョンアップ手順の詳細は、関連記事【AndroidのOSバージョンを調べアップデートする方法! 最新機能へソフトウェアを上げよう】で解説しています。
なおSDカードへの書き込み制限はAndroid 4.4より始まったため、Android 4.4未満であれば問題なく使えます(権限許可の操作すら不要です)。
例えばARROWS NX(Android 4.2.2)のファイルコマンダーでは、特別な操作不要でSDカードの書き込みが可能です。
もし端末の最新OSバージョンが4.4.xでこれ以上バージョンアップできない場合、4.2.x以下にダウングレードするという選択肢もあります。
かなり上級者向け&条件が限定的な内容ですが、興味のある方は詳細を関連記事【AndroidのOSをダウングレードする方法まとめ! スマホのソフトウェアバージョンを下げてアップデートを元に戻そう】で解説しています。
アプリが外部ストレージの書き込み権限付与に対応していない
外部ストレージの書き込み権限付与は、アプリによって非対応のケースもあります。
ただメジャーなアプリはおおむね対応しているので、もしお使いのアプリでうまくできない場合は、別のアプリで試してみて下さい。
例えば次のファイル管理アプリで検証したところ、すべて対応していました。
アプリ名 | 結果 |
---|---|
ファイルマネージャー |
○ |
Files by Google |
○ |
Ultimate File Manager |
○ |
ファイルコマンダー |
○ |
Cx File Explorer |
○ |
X-plore File Manager |
○ |
RSファイルマネージャー |
○ |
ファイルマネージャ |
○ |
シンプルファイルマネージャー |
○ |
SDカードを非表示にしている
SDカードのルートディレクトリを選択する際、メニューを開いても 外部SDカード が存在しないケースがあります。
これはメニューより SDカードを表示 すれば、選べるようになります。
SDカードに問題がある
ここまでの内容をチェックしてもうまく設定できない場合、次の2点を疑ってみましょう。
- うまくマウントできていない
- SDカードとアプリ・端末の相性が悪い
まずSDカードを再マウントしてみます。
ストレージ設定からSDカードのマウントを解除した後、
再びタップしてマウント(SDカードを再認識)できます。
この状態でも失敗する場合、残念ながらお使いのSDカードとアプリ(または端末)の相性が悪い可能性もあります。
データをバックアップの上、SDカードをフォーマット(初期化)してみて下さい。
手順の詳細は、関連記事【AndroidでSDカードのデータを削除する方法! スマホの不要ファイルを完全消去して初期状態へフォーマットしよう】で解説しています。
それでも改善がない場合、新しいSDカード購入を検討下さい。
アクセス権許可を解除する方法
外部ストレージの書き込み権限は、アプリごと最初に付与すれば(原則)解除されません。
もし意図的に許可を取り消したい場合、該当アプリで アプリ情報 を開き、ストレージ の アクセスを拒否 を実行すればOK。
アプリ情報の開き方は、関連記事【Androidでアプリ情報の見方と表示方法まとめ! 使用状況へのアクセスを開いて設定変更しよう】で解説しています。
その他、下記条件に当てはまる場合も、自動的に外部ストレージの書き込み権限が解除され、再設定が必要です。
- 設定したSDカードとは別のSDカードを使う
- 設定したSDカードをフォーマットする
- アプリを初期化する
SDカードをフォーマットする方法やアプリを初期化する方法は、それぞれ関連記事で解説しています。
その他SDカードにファイルを移動できない原因と解決策
外部ストレージの書き込み権限を付与したにも関わらず、SDカードへデータ移行ができない場合、別の原因を確認下さい。
- SDカードの空き容量が不足している
- SDカードに移動できないファイルを選択している
- SDカードがスマートフォン向けに最適化されていない
- 1ファイルあたりのデータ容量が大きすぎる
- SDカードが故障している
- Androidに問題がある
内容が多岐にわたるため、詳細説明は関連記事【AndroidでSDカードにファイルを移動できない原因! 問題を解決して写真やアプリデータを外部ストレージへ転送しよう】で解説しています。
開発者向けオプション「外部ストレージへのアプリの書き込みを許可」について
Androidの隠れ機能「開発者向けオプション」には、外部ストレージへのアプリの書き込みを許可 というメニューがあります。
開発者向けオプションの基本や表示手順の詳細は、関連記事【Androidの開発者向けオプションを表示/非表示にする方法! デベロッパーモードで隠れ機能を使おう】で解説しています。
このメニューについて、ネット上では次のような情報が流れていますが、どちらも再現しませんでした(=誤っています)。
- 有効にすれば、全アプリに対して外部ストレージの書き込み権限を許可できる
- 有効にすれば、SDカードへアプリを移動できるようになる
ちなみに類似の情報として、下記も誤っているのでご注意を。
- アプリに対して ストレージ のアクセス権を与えれば、SDカードへ書き込みできる
書き込み制限のない標準ファイル管理アプリを使う方法
SDカードへの書き込み制限は、あくまでサードパーティ製アプリのみ対象となり、プリインストールされる標準ファイル管理アプリは含まれません。
この標準ファイル管理アプリは2種類あり、それぞれ起動方法が異なります。
- 機種メーカーが選定したアプリ
- Android OSに内蔵されるアプリ
簡単に解説します。
機種メーカーが選定した標準ファイルアプリを起動する
機種によってプリインストールされるファイル管理アプリは異なります。
例えばGalaxyシリーズでは、Samsung自社開発のマイファイルというアプリが搭載されますし、
Xperiaシリーズは、ファイルコマンダーが搭載される傾向にあります。
Android OSに内蔵される標準ファイルアプリを起動する
設定の ストレージ から SDカード を選べば、
Android OS内蔵のファイルマネージャーが起動します。
ただ、わざわざ設定から開くのは面倒ですよね。
そこで便利なのがファイル管理というショートカットアプリで、アイコンをタップすればOS内蔵のファイルマネージャーへアクセスできます。
関連記事 Android標準の内蔵ファイルマネージャーを開く方法
補足:AndroidでSDカードを使いこなすアレコレ
AndroidでSDカードを使う上で、知ってると便利な細かい情報を補足します。
- 補足①SDカードにファイルを移動する方法
- 補足②SDカードを内部ストレージ化してアプリを移動する方法
- 補足③SDカードを暗号化する方法
- 補足④あらゆるファイルの保存先をSDカードへ変更する方法
スマホのSDカードにファイルを移動する方法
外部ストレージの書き込み権限をファイル管理アプリ付与して、SDカードに内部ストレージのデータを移行すれば、様々なメリットがあります。
- 内部ストレージの容量不足を解消できる
- 端末以外の場所でファイルをバックアップできる
- SDカードを経由して別の端末へファイルを共有できる
移動方法の詳細は、関連記事【AndroidでSDカードにファイルを移動する方法! 写真やアプリのデータ保存先を内部ストレージから変更しよう】で解説しています。
スマホのSDカードを内部ストレージ化してアプリを移動する方法
Android 6.0より実装された機能「Adoptable Storage」を使えば、SDカードを本体の内部ストレージとして利用(=SDカードの内部ストレージ化)できるようになりました。
外部ストレージの書き込み権限を許可しても、アプリはSDカードへ移行できませんが、内部ストレージ化によりこの制約までも突破できます。
この機能は通常、一部機種に限定されますが、adbコマンドを操作できれば、無理やりこの機能を開放して、基本的に全機種でSDカードを内部ストレージ化できます。
説明が長くなるため、具体的に投入するadbコマンドの情報等は、関連記事【AndroidでSDカードを内部ストレージ化してアプリを移動する方法! スマホの外部ストレージをフォーマットしよう】で解説しています。
スマホのSDカードを暗号化する方法
Android上の操作で、SDカードを暗号化できます。
通常、SDカードに保存されたデータは誰でもアクセスできます。
そこでSDカードを暗号化すれば、鍵を持つ特定端末以外からはアクセスできなくなるため、重要なデータをSDカードに保存して持ち歩くなら、暗号化は検討の価値があります。
が、暗号化により、SDカードにとって重要なバックアップ機能が犠牲となるため、必ずしも良いことばかりではありません。
説明が長くなるため、詳細は関連記事【AndroidでSDカードを暗号化する方法! スマホ外部ストレージのパスワードを設定/解除しよう】で解説しています。
あらゆるファイルの保存先をSDカードへ変更する方法
Androidでダウンロードするファイルのほとんどは、あらかじめ保存先が決まっており、自由に変更できません。
が、下記3パターンいずれかの方法でカスタマイズ可能です。
方法 | メリット | デメリット |
---|---|---|
①:ダウンロードを実施する アプリ自身の機能を使う |
|
|
②:Android標準設定を使う |
|
|
③:FolderSyncを使う |
|
|
説明が長くなるため、詳細は関連記事【Androidでダウンロードの保存先を変更する方法! スマホからSDカードに直接ファイルを移動しよう】で解説しています。
〆:SDカードも自由に編集しよう!
以上、AndroidのSDカードへアクセス許可する方法! スマホの外部ストレージ書き込み権限を解除しよう の説明でした。
外部ストレージへのアクセス権限を付与することで、SDカードをより活用できるようになります。
慣れれば難しい操作ではないため、知ってると便利ですよ。
ぜひ、ご参考下さい。
コメント
記事拝見しました。とても見やすいです。スマホの使い方がいまだによくわからず、こちらの記事にたどり着いたのですが、GoogleフォトでSDカードの写真を削除する設定はできたのですが、それを元に戻す方法がわかりません。ファイルコマンダーも使用しております。
android携帯、Xperia使っています。
Googleフォトアプリの使い方もいまいちわからないまま使用しており、スマホのストレージが増えすぎてどうしていいかわからずいます。SDに写真が保存されているのも不明(多分ショップの店員さんが移動したのかもしれず)な状態です。
もしよろしければ、権限を戻す方法を教えてください。また何かわかることがあれば教えてください。よろしくお願い致します。
全然わからん
そう、ぜんぜんわからない
Android13で使ってますが、SDカードのルートディレクトリを選択しようとすると「プライバシーを保護するため別のフォルダを選択してください」と言われます。
Android12以降で機種によりSDカード自体の選択が出来ないものが時々見受けられます。
違うアプリや内蔵のファイルアプリを使用していただくか
SDカード内に別のフォルダを作ってそのフォルダを選択していただくことでフォルダ限定のルートディレクトリを使用することが出来ます。