Android 5.0ではSDカードなどへの書き込みが(再)サポートされる 66
ストーリー by hylom
制限と緩和 部門より
制限と緩和 部門より
あるAnonymous Coward 曰く、
GoogleはAndroidにおけるSDカードの扱いについて、過去数年間にわたり仕様変更を行っている。Android 4.0ではサードパーティアプリケーションから取り外し可能なストレージへにアクセスできなくなり、ユーザーや開発者から不評を買った。Googleはこうした問題点を認め、Android 5.0 (Lollipop)では新しいAPIが追加されたという(AndroidPolice、juggly.cn、Slashdot)。
GoogleのJeff Sharkey氏がGoogle+に投稿した内容によると、OPEN_DOCUMENT_TREE権限が追加されたことにより、アプリはセカンダリストレージ全体(サブディレクトリを含む)に対してユーザーの許可を得なくてもコンテンツ毎にディレクトリやファイルの create、update、delete などのファイル操作が可能になったという。これにより、開発者が制限を回避するための面倒なハックに依存する必要はなくなったとしている。
4.4 だけ (スコア:3, 参考になる)
出来なくなったのは 4.4 kitkat だけ。
Re:4.4 だけ (スコア:5, おもしろおかしい)
まさにHave a break
Re: (スコア:0)
ひとやすみ、ひとやすみ
外部ストレージの無いNexus端末を使っている俺は無敵だった・・・・・・ (スコア:2, 興味深い)
・・・・・・じゃなくて、NexusシリーズにもマイクロSDスロットつけてくれよ、Googleさん。
Re: (スコア:0)
そんなことしたら、内部ストレージ増やしただけで無情に高価格になる機種が売れないじゃないですかー
Re: (スコア:0)
nexusシリーズ、SDカード無いのに内部ストレージのフォルダ名がsdcardだったりするの。
エイリアスもあってstorage-emulated-legacyもstorage-emulated-0もstorage-sdcard0も全部同じ場所。
これで取り外し可能ストレージがあるとさらにすごいことになってるんだなあと。
Re: (スコア:0)
見た目悪いし、そんな事既にしている、欲しいのは内臓だって事だと思うけど
OTGケーブル(USBホストケーブル)とメモリーカードリーダを組み合わせて使っている。
両方100均で売っているのに少し感動。
Re: (スコア:0)
Google Driveに入れてくれないと自分の物にできないし解析時間掛かるじゃないですかー
権限ではなくIntent (スコア:1)
細かいですがOPEN_DOCUMENTは権限(パーミッション)ではなくIntentです。
Androidはパーミッションを与えてしまえばユーザに何も報せることなくアプリが好き勝手を行えます。
このためThe Movie事件のように、ユーザが知ることなく情報を抜かれる事件が多発しています。
一方でIntentはユーザに対し別のアプリが起動されます。
これによりユーザは自分の意思でファイルを開くことができます。
ユーザの介在が一番大事な話なのです。
このことは原文にもきちんと指摘されています。
https://plus.google.com/+JeffSharkey/posts/4kxjY9JFemL [google.com]
マニュアル
http://developer.android.com/reference/android/content/Intent.html#ACT... [android.com]
Androidのパーミッション周りは依然として荒く、携帯端末固有番号や電話番号等を簡単に抜くことができ、
しかも多くの商業アプリがそれらのパーミッション抜きではインストールすることすらできません。
このため、一般人は情報を食い物にされている状態が続いています。
Androidを携帯電話で利用することは私はお勧めしません。
私はタブレットでのみAndroidを利用しています。
Re: (スコア:0)
> しかも多くの商業アプリがそれらのパーミッション抜きではインストールすることすらできません。
> このため、一般人は情報を食い物にされている状態が続いています。
これはさすがに言いがかり。いやなら使わなければいいで完全に利用者の責任だ。
Re: (スコア:0)
林檎の人は言い掛かりやデマが好き
DHMO論法
Re: (スコア:0)
いや、私は元コメに同意だ。パーミッションが荒すぎるし、そもそもインストール前にパーミッションを許可するのというのはまったく不合理だ。
あの分類・タイミングでは、パーミッション要求が合理的かどうか判断できない。そのため、事実上パーミッション許可が機能していない。
>いやなら使わなければいいで完全に利用者の責任だ。
使ってよいかどうか判断できないのだから、ユーザーの責任ではない。
Re: (スコア:0)
判断できなければ使わない、というのが責任ある態度でしょう。
Re:権限ではなくIntent (スコア:1)
例えば広告の為、という理由でネットアクセス許可を要求されてOKしても
それが広告以外に使われることを把握できないから問題なんですが
ただでさえきめ細かいと言えないパーミッションで、更にその全てにおいて考えられうる
リスクを判断しなければ使わない、というのは無茶な理屈だわな
無料+広告モデル+アイテム課金(ゲーム)が主流だからなおさらネットアクセスと端末IDを
要求されてもそれならしゃーないとなる人ばかりで自己責任なんて屁理屈にもなってないよ
明らかに設計が雑すぎる
Re: (スコア:0)
インストール画面で出てくる文言だけでどれだけのリスクがあるのかなんかわからないですよ。
しかも最近は Play Store でインストールするときの権限の表示を簡素化したせいで、実際に持ってる権限が全部見えなくなってしまったという。
Re: (スコア:0)
それって、Android は使わない (より厳密には、Android ではプリインストールアプリと
自分自身で作成したアプリ以外使わない) ってことですよね。
Re: (スコア:0)
嫌なら使うな、とか思考停止な人が多い世の中であります。
iOSは、インストール時ではなく、実際のその権限を要求するときに初めてユーザーに許可するか聞いてくる。(後で変更も可能)
そうすればインストール時にいちいち権限確認しなくてもいいし、使い始めてからも権限渡さずに利用もできる。
Androidも一時だけ開発版でそういう方式を試験導入したと思うけどそうそうに廃止したんだっけ。
結局、情報取れないのはGoogleにとってもデメリットだもんなぁ。
ベターな方法が存在するのにそれを採用しないっていうのは、まぁAndroid(Google)はそんなもんかと思われてもしょうがない。
Re: (スコア:0)
スマートフォンは権限の扱いについて右往左往してるのですが、パソコンのOSで全てのアプリが同じ権限を持っていることは問題にならないんでしょうかね?Ubuntu辺りがマジメに取り組めば良いのですが……
既得権益?パソコン離れが進んで技術系しか残らないから大丈夫?ブラウザ上のウェブアプリは権限が分離されてるからok?
4.x (スコア:0)
方針を転換したのなら、4.x のほうにもその API を提供してくれないものでしょうか...(4.x の HW ベンダーに 5.0 へのアップデートを期待するのも無理があるし)
Re:4.x (スコア:3, 参考になる)
タレコミには4.xじゃなくて4.0って書いてありますね。
今、Android 4.2.2 の端末使ってて各種アプリからSDカードにはアクセスできています。
これって、5.0以前にそういう風に既に戻してるんじゃないの?
と思ったら/.Jでskapontanさんの日記読んだら 4.4 でダメになって5.0から復帰する予定って書いてあるね。
skapontanの日記: Android4.4 [srad.jp]
タレコミが不正確だったってことすかね。
Re:4.x (スコア:2)
いや4.0からすでにWRITE_MEDIA_STORAGE権限持ってないとsecondary storageに書けなくなってます。この権限はシステムとプレインストールアプリにしか許されない。
さらに4.2のCDDで
Device implementations that include multiple external storage paths MUST NOT allow Android applications to write to the secondary external storage
と明記されてます。
勝手に書けるようにした端末ベンダはあるけどね
Re: (スコア:0)
すみません、例えばroot権限も取っていない買ったままの状態でストアで個人制作のアプリを購入し、
普通にスロットに挿入したmicroSDに書けてるんですが、
これはHTCが勝手にいじったってことですかね?@ISW13HT
Re: (スコア:0)
デフォルトでそうなっているのでしょ。私が持っているnexus7 2012 android OS 4.3でも WRITE_MEDIA_STOREAGE はmedia_rwですし。
Re: (スコア:0)
ご指摘 & 補足ありがとうございます。
4.4 でダメだったのと、元記事の 4.0 というのを読んで 4.x 全滅なんだと思いこんでしまいました、すみません。
(といいつつ主たる開発は互換性のために 2.x なんですわ...)。
Re:4.x (スコア:1)
>(といいつつ主たる開発は互換性のために 2.x なんですわ...)。
そういうのって、MSとかでよく見るいつか来た道ですね。
普通に使えてた機能が無くなったり、復活したり・・・
そしていつも振り回されっぱなしの一般ユーザ。
Re: (スコア:0)
さすがにsupport libraryのように簡単にはいかないような・・・
Re: (スコア:0)
たぶん、問題の4.4を黒歴史化して終了じゃないかな。
で、泣くのは当該端末を購入してローンを払い続ける人。
Re: (スコア:0)
ベンダーは5.0を提供しているのにね、キャリアがね…
Re: (スコア:0)
責任あるメーカーは、4.4にアップデートをセずに、4.2で止めてます。
無責任なメーカーは4.4のアップデートを配布してしまいました。
Android の立ち位置の問題でもあるんだろうな (スコア:0)
スマホの OS として、セキュリティの意味もあってユーザになるべく細かい部分を触らせない方向でいくのか、
それとも PC の OS みたいにファイルを触らせていろいろ編集できるようにする方向でいくのか…
まあ、(SELinux 的にみても?)長い目でみると前者なんだろうけど、さじ加減が難しいんだろな.
# 5.0 から root が取りにくいそうなので、面倒そうだなあ…
えー (スコア:0)
Androidの外部ストレージの扱いは、混乱の極みだったのでこれでさっぱりなくなって喜んでたのに…
マウントポイントとかどーすんの?その辺は現状のまま?
#またアプリにと機種の組み合わせによって「保存できねー!」とかいうことになるのか…
Re:えー (スコア:1)
内蔵ストレージを"sdcard"と呼ぶのは、そろそろやめていただけるのでしょうか。
Re: (スコア:0)
あー、それ私も混乱しまくった意味不明としか思えない仕様です。
なんか互換性確保とか目的あるんですかね?
Re: (スコア:0)
Android的にはUIDによるアクセス制御を強制したいけど、FATでフォーマットされているSDには効かないので、
なんとかしようと頑張ったその名残。
Re: (スコア:0)
カード刺す理由のひとつに、容量不足だからというのがあるので、SDに仮想ディスク作ったらいいんじゃね?と思うのだが。
SDのフォーマットをFAT以外にすると謎挙動するのがあるし。
Re: (スコア:0)
FAT(メタデータの方)が置かれる領域を小単位・ランダムアクセスに強くなるようにしてるメディアはあるね
eMMCでもそんなのがある。
そういうのはアロケーションテーブルが全体に分散すると異常なGCが発生したりすることも
Re: (スコア:0)
ミサトさん「よく分からないものを無理して使うからよ。」
Re: (スコア:0)
ならジェットアローンでも使っとけよ、と思った。
エヴァも、S2機関ほどじゃないにしても、「よく分からないもの」でしょ。
人類の科学技術だけで作り上げたジェットアローンとは、理解のレベルが違う。
これ全アクセスできちゃうの? (スコア:0)
これって、どのアプリからでも外部ストレージの全ファイルのアクセスできちゃうの?
下手に使っちゃうと、別のアプリに読まれちゃったり、ファイル消されたりってことはないの?
ソースみると、Kitkatでアプリごとの領域のみ、に絞ったみたいだけど、Lでまた全アクセスに戻したってこと?
セキュリティ的にどうなんだろう。
Androidはなんでもできるけど、それだけリスクも高いよね。やばそうなアプリに手を出さないとか、ある程度リテラシーある人ならいいだろうけど、スマートフォンは知識のない一般の人まで使うものだからなぁ。
Re:これ全アクセスできちゃうの? (スコア:1)
この記事もだけど表現が不適切なので
こんな疑問出ちゃうんですよね
そもそも「読み」「書き」のうち
Kitkatで禁じられたのは「書き」です
4.2で使っていた外部SDのファイルを
4.4へアップデート後も「読み」とれます
「書き」については不可となり
保存先を外部SDにしていたアプリは軒並み機能不全
てことでした
てことで今も昔も
「読まれちゃったりします」
リスク高いってことならスマホは匿名Wi-Fi機として
個人情報や決済機能を扱わない使い方をお勧めします
# スマホはrootとって遊ぶガジェット
Re: (スコア:0)
自分はiOSなんでその辺は大丈夫かな。
Appleはこのあたり慎重。制限をだんだん緩めていってる感じ。
Googleは、できることはとりあえずやらせよう、問題あったら絞ろう、不満でたら元に戻そう(イマココ)、なポリシーか。
リスクテイカーなGoogleだから新機能をどんどん入れてくるおかげで「iOSなんて後追いだろ。Appleオワタ」なんて言われるけど、一般ユーザーにとってはApple的な方が安全かな。知識あっていろいろやりたい人はAndroidの方が楽しいだろうけど。
# MSはどんなポリシーでやってるんだろう。WindowsPhoneのプラットフォームは全然話題にも出ないから・・・
Re: (スコア:0)
おんなじでしょ。AppleはiCloud、Google は Drive とか。
情報の保管先が集中するようになると、一撃で死ねるのはいっしょ。
もちろん、まだ両者とも使わずにすむ手だてはあるけど、じわじわその余地はなくなるだろうね。
Re: (スコア:0)
>「書き」については不可となり
正しくは「アプリのフォルダ」の下のみ書き込み可能、です、まったく出来ないわけではありません。
Re: (スコア:0)
SDの中の、たとえばAndroidフォルダ内のみ読み書き自由に、とかはできなかったんですかね。
フルアクセスを与えたくないと思ってるユーザーだっているでしょうし。
Re: (スコア:0)
常識で考えればデフォルトではディレクトリへのアクセス権限はなしで必要に応じてアクセス権を与えるって感じでしょうが、Androidなのでやりたい放題なのかもしれませんね。
Re: (スコア:0)
アプリ側の設定で、uses permissionにWRITE_EXTERNAL_STORAGEを入れないと
SDに読み書き出来ない仕様は変わってない。
あと、リード専用のREAD_EXTERNAL_STORAGEもKitkatから出来てたはず。
マルチユーザーでファイル共有の件はどうなった? (スコア:0)
いやほんとどうなりました?
nexus7のEPWING辞書フォルダが洒落にならないんですけど。
そんなことより (スコア:0)
勝手にアンマウントされちゃうのは直るんですか?
ほぼ3か月おきにアンマウントされるんですけど。
ラズパイのmpeg2ライセンスみたいに (スコア:0)
SDカードアクセスとかお財布ケータイとか地デジとか高解像度とかは、ライセンス販売にしてくれよって思う
だって抱き合わせ販売じゃん
使いたい人が使うのは一向にかまわないけど、使わない俺に強制的に買わせんなって話
Re: (スコア:0)
それはメーカーごとのオプションでしょ。
高解像度機しかない?そりゃそのほうが高く売れるからさ。
安い機種がなぜどこにもないか?
安い機種じゃ2年縛りとかで値引きしなくても買えちゃうじゃん。