Android 5.0 Makes SD Cards Great Again
An anonymous reader writes: Over the past couple of years, Google has implemented some changes to how Android handles SD cards that aren't very beneficial to users or developers. After listening to many rounds of complaints, this seems to have changed in Android 5.0 Lollipop. Google's Jeff Sharkey wrote, "[I]n Lollipop we added the new ACTION_OPEN_DOCUMENT_TREE intent. Apps can launch this intent to pick and return a directory from any supported DocumentProvider, including any of the shared storage supported by the device. Apps can then create, update, and delete files and directories anywhere under the picked tree without any additional user interaction. Just like the other document intents, apps can persist this access across reboots." Android Police adds, "All put together, this should be enough to alleviate most of the stress related to SD cards after the release of KitKat. Power users will no longer have to deal with crippled file managers, media apps will have convenient access to everything they should regardless of storage location, and developers won't have to rely on messy hacks to work around the restrictions."
I can only hope this is actually implemented transparently. Having to choose (and pay for) all the memory you'll ever use the day you buy your phone is ridiculous, and limiting people to what the manufacturer's cost targets are (and no mfr is interested in a bunch of expensive, slow moving stock) made no sense in the market.
Now if Verizon can get it's head out of it's ass and roll out 5.0 updates quickly after the mfrs release them, things might be looking up.
Is it just my observation, or are there way too many stupid people in the world?
I expected the Nexus 6 to have a microSD card slot because they were supposed to gain first-class support in Android 5.0.
But it doesn't, so external storage support must still be a second class citizen on Android.
This will help me on my phone, which has an SD slot ... but it won't help me on my Nexus tablet, which, as far as I can tell, doesn't have an SD slot.
So, I guess I'm only partially impressed. :-P
Lost at C:>. Found at C.
So that I can control an installed apps permissions one by one? Or do I still have to grant all apps all permissions (which is what it was in practice)?
For a long time, I've been hoping for an OS where, by default, the apps cannot access anything outside of their private areas.
It's possible with chroots and cgroups and other facilities but it's always a mess of third-party after-thoughts.
There's no reason I should have to give my satnav app full read-write permission to the entire SD card just so it can save my favourite places to permanent storage. It shouldn't even be able to know where it's saving them, that's for me to choose.
As such, these are all moves towards a safer, more secure environment. The problem, as always, is what happens in the meantime for the transition or if we mess up and stop apps doing what they need to do. No photo app needs read-write access to the entire SD card, nor can it cope with just read-write access to a private app area. It needs to share the files it writes with the user. Isn't this precisely what the amalgamation of several folders into, say, "Pictures" or "Music" is on several OS? All the app needs to do is say "this is a pictures folder that the user might want to use". And when uninstalled, it stays around because it's still one of the many listed pictures folders for that user.
Gone are the days of full-write-to-everything access. We don't need it. It's not necessary. But we do need the facilities to ensure apps can do what they need to do. This very much pushes into the filesystem-as-a-database idea that we've been wanting for decades. There's nothing stopping an app opening up a separate table for its photos and having the database just join the rows from several tables when the user wants to look at all their photos. And that does not require giving the app access to every table and row in the entire database.
I used to love the openness of Android and I would have never considered iOS. However, after this blatant destruction of what Android and any true open system should stand for, I did not have any reservations getting an iPhone to replace my Galaxy S4.
So long Google, you fucked up. Badly,
That's why you should always root and use https://play.google.com/store/...
Is it just my observation, or are there way too many stupid people in the world?
Now Bennett can finally find a phone that will let him buy a movie and download it directly to his phone!
http://features-beta.slashdot....
He can finally gt rid of that LG Optimus, assuming Dice pays him enough money to buy a new phone! (or he has enough money left over after paying them to be his personal blog).
I, too, love the openness of iOS. Their SD card support, file management tools, inter-application data sharing, and overall system accessibility to users and developers is top notch.
linking to beta and not classic, eww
I would just like to point out that iOS users never had any problems with built-in SD card readers.
Get free satoshi (Bitcoin) and Dogecoins
Google has servers for this. You're supposed to be letting them index/scan/use your info, not storing it privately on flash.
Duh, it's a network device, everyone has unlimited network access everywhere don't they?
Eh I googled it and didn't bother to switch it. Beta is horrible though.
So can we install apps to the SD card again? At one point, you could move apps to the SD card and run them from there instead of from internal storage. This was great if you had about 3GB of "applications storage" (the internal storage area was divided into system, applications, etc) and were running some large Android games. You could get a cheap 32GB or larger microSD card, put that in, and instantly have all the space you would need for the foreseeable future, Then, this feature was removed and apps were restricted to the "applications" area of internal storage again. It would be great if you could put apps on the SD card again.
(Yes, I know this might be possible if you root the device, but there's something to be said for building this feature right in instead of keeping it only for the people who know how to root their devices.)
My sci-fi novel, Ghost Thief, is now available from Amazon.com.
Why not just do what everyone's been asking and just mount the fucking sd card somewhere in the filesystem where everything can see it?
MTP is and was a terrible idea to keep users out of the core OS files. I get the fact that there needs to be a dedicated section separate from the OS partition to store pictures videos and music but MTP just turns the device into a blackbox. because the protocol was developed by microsoft, fragmentation is encouraged and most vendors are wildly different in how they approach it. MTP-Tools and the libmtp project for linux contains releases that are largely workarounds and kludges for this.
Make android EXT4 with MTP enabled for windows connections. If the device is connected to a linux machine, maybe it should just assume the owner is intelligent enough to handle the raw filesystem partitions. if you want this access in windows, install cygwin.
Good people go to bed earlier.
I've often gone to eBay etc to pick up my electronic odd-and-ends. I'd have to say that for stuff like SD cards - though you do pay the price locally - it may be a safer bet to buy in a B&M than online.
The amount of fake cards is staggering. I'm not just talking about a "no-name" brand that's labelled as Samsung, or a class 4 listed as a class 10, but cards that are labelled as 16, 32, 64GB etc, are IDENTIFIED BY THE OS as the labelled capacity, but actually contain only 2-4GB and have modified firmware causing them to report as larger. That means the card seems to work fine initially, but when you go over the 2GB/4GB mark it actually starts overwriting existing sectors/files resulting in rampant data corruption.
If you want to test your card, you can use a utility like h2testw It will tell you if the card is having bad writes - which could indicate a faulty card - but also tells if it's doing stuff like writing back over existing files (which indicates a fraudulent "over-capacity" card).
[h2test2 is windows software. Sorry but I'm not sure if there's a 'nix equivalent. One could probably make a script that DD's numbers across various sectors and then checks afterwards whether they overwrote previous sectors).
And how about actually allowing installation of apps on SD cards? I don't understand how this kind of feature is so impossible to realize.
Just root your phone and re-enable the SD card. even the stock android phone app will gladly take advantage of the SD card when the fix to the OS is added.
Do not look at laser with remaining good eye.
Is that manufacturers can have multiple "external" sd cards even though only one is removable (my Moto for example).
So when a user with one of these phones wants to get a new phone, they are practically forced to use phone mfg/service provider for transferring data to a new phone.
The conspiracy theorist in me thinks this is all about lock-in.
I hate all the edge case code I have to maintain to choose the correct "external" storage.
Has this been addressed?
My biggest single gripe with Android on a tablet (let alone a phone) is the shitty file management environment. I must have spent dozens of hours in recent years test driving various file managers and apps, and nothing makes the simple tasks of copying, moving, renaming, etc. files as easy as it should be. Yes, I know that without a keyboard and a mouse, by default, it's a tough design challenge, but it's the biggest single hurdle for a lot of people who want to do more with a tablet than consume streamed content.
O_o
What security problems? You can't autoexecute stuff off an SD under Android. The only time there's a security concern (and it's going to be the SAME on the on-device eMMC...) is that you can execute code off of an SD that vendors didn't intend for you to run. That's how people side-load in the first place. They didn't change anything with this little change they made in KitKat and didn't break anything any worse than it was with this change back.
The reason that they quit including SD slots was because they want everything on Drive or similar and it lowered the BoM cost to peel those out. It's not security- quit deluding yourself and everyone else with this tripe.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
I will never trust Google with Android again, not for a platform for anything serious. When I bought my tablet, I could organize my pictures on it, and now it it sits in my room as an implement for occasional light browsing. Android had an edge over IOS, because I could do useful things with it, without begging Itunes to limit what types of files exist on my tablet.
I love QuickPic, for my pictures, and my Galaxy Note 8 may never be upgraded to Lollypop, so what I am to do throw it away?
Although I am angry, I have only myself to be angry at for trusting Google in the first place. Not evil, my ass!
https://www.youtube.com/c/BrendaEM
There's a reason Google stopped including SD slots in flagship devices.
To force users onto Google Drive and cut them off from their data when in remote locations.
I am becoming gerund, destroyer of verbs.
I'm still not holding my breath for Google to finally get a clue and include SD slots on Nexus phones.
I'll be happier if 5.0 fixes the problem with external hard drive support. Then, when on holidays, I'd be able to use my phone to transfer photos from my camera to a back up hard drive.
You can't autoexecute stuff off an SD under Android.
So the databases form every app on your phone have no value? No reason to keep every app in the system out of the SQLLite file from your banking app?
Jesus H Christ in a Fish Bucket. It's hopeless I guess I give up when even the technical people can't figure out it out.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Now if only we could get general USB storage instead of this MTP bullshit back without having to root the phone and download some random apps to make it work.
MTP is slow as hell, especially when dealing with thousands of files (directory listings alone take several minutes). It also requires specific OS support.
Yeah, I get that MTP is supported on Windows/Mac/Linux, but this isn't always where we're working. I used to use my phone in place of carrying around a USB thumb drive for system servicing. I had my Micro SD card loaded up with things like NIC drivers for Windows XP/Vista/7 (once it has NIC, it generally has net to download the rest of the drivers). It had patches for server systems that didn't have net access. It even had my XBox360 gamer profile on it.
ALL of these have since been lost and had to result in going back to carrying around an extra device or two just to accomplish the same task that was possible just a few years ago with a cell phone and USB cable.
Finally!!! Now just revert all the other stupid crippling decisions. Like banning airplane mode switch and other stuff that used to work before. The current version of Android is just totally useless crap, you have to downgrade to version 2.3 or something to get a usable Android version.
[Apple iOS is locked down but] Everything works.
Including <input type="file"> with data types other than pictures and videos? Or contributing to an open directory of hotspot locations (like Mozilla Stumbler)? Or decoding video that is lawfully encoded in the United States without having to pay royalties?
Translation, the already shitty security around files on SD cards on Android has now gotten fantastically worse - look for "media managers" that can also handle opening databases from other applications stored on an SD card...
Security from what? "Security" is meaningless without a defined threat model. Sometimes you want to open another application's database to see what information it's storing about you, or to export documents that you have created in that application. That's not a threat, as I see it. See how OLPC defines its threat model and tell me if there's anything you'd add or remove.
I've even considered going back to Apple, I never ever thought I'd type that sentence, yet here we are.
Google continue to make decisions best for them, not their users of late. If it's not that, it's the design team fiddling with something which doesn't need adjusting, making it worse.
It's been at least 2 or 3 years since I've read an article and thought "wow google is amazing, they are the best, a shining beacon of what a company should be, just incredible" (I really used to think that!)
Look, I am glad we have a standardized file system browser now and so it'll lessen the annoyance from having to face yet another custom built file browser. I am especially glad as a developer. I don't have to grab some library off of github hoping it's as good as people say it is.
At the same time, as a user, I don't browse the file system often. Maybe once in a while when I setup an app to point to the sd card, download something or transfer from a pc. So, it's a low priority.
Now... how about a color picker intent? please?
so..they listened to the complaints about how they deal with SD cards..... when are they going to
listen to complaints about how they mark third party CAs as nasty things 'your network may be monitored'
is what greets any KitKat user who requires a secure private CA for eg 802.1X network authentication.
just let me use that damn 3rd party CA - even if the Android OS has an option to say that its ONLY valid for
network authentication and cannot be trusted for eg web browsing!!
My app databases do have value. If Google can't figure out how to secure a directory without putting the entire file system in police state lock-down, that's just sad. I have every right to be pissed that they f*cked that up so badly. Why do so many people defending the external SD problem not see this?
Sometimes you want to open another application's database to see what information it's storing about you
At which point it has an API to do so or GTFO.
Correct me if I'm wrong, but it sounds like you're saying it's unsafe for the owner of an Android device to use any application that didn't come from F-Droid. Without source code, you can't add an API, and without an API or some other access method, you have no way of knowing what an app could possibly be storing about you or of pulling out data that you created within the app.
The attitude you are promoting led to a world of malware/spyware and identity fraud across the PC industry.
And the attitude you are promoting, one of allowing applications to arbitrarily deny the owner of a computing device the ability to implement workarounds that promote things like interoperability and accessibility to people with disabilities, is leading to a world of digital handcuffs and rent-seeking across the mobile industry.
Much of what you describe is CyanogenMod's Privacy Guard feature.
Privacy Guard is enabled for all apps by default. The first time an app requests a permission, the user is asked to allow/disallow that permission, and can choose whether to have that choice remembered or be asked every time. Disallowed permissions simply present the app with false data. Apps work fine, they just think you have no friends/live in the middle of the Atlantic/never connect to WiFi etc etc.
It takes months to put 30 GB of your life on Google servers at the 3 GB per month that a typical wireless carrier allows.
Most internet-connected devices have Wi-Fi which allows you to use a network other than your wireless carrier network to connect to the internet. Most internet-connected households have Wi-Fi and many public areas, shops and hotels also provide Wi-Fi (often free of charge) so mobile devices can sync to the cloud using those networks that aren't as limited as the cellular ones.
Most internet-connected households have Wi-Fi
That's useful if you happen to live within range of cable or DSL with no cap or a usably high cap. If your home Internet is satellite or cellular, or if you happen to live in the southern hemisphere of the anglosphere (NZAU) or certain parts of Iowa, too bad.
and many public areas, shops and hotels also provide Wi-Fi (often free of charge)
I've had a strange experience with Wi-Fi in Subway restaurants. The Wi-Fi in the local Walmart is run by Subway, where I often wait for my roommate to finish her shopping. But if I stay on for more than a few minutes, HTTPS connections stop being made, and HTTP connections go back to the AirTight page saying something to the effect of "wait 30 minutes to connect again" (I didn't take a screenshot at the time for the exact wording). Besides, even with unmetered home Wi-Fi, you can get the 30 GB up to Google, but you can't get it back down to watch homemade or purchased video on a long ride as a passenger in a vehicle.
The problem is patents. If Google returns SD-card support to AOSP Microsoft will sue them.
This is because Google can't just make the cards btrfs or ext3 because no Windows/Apple computer would be able to read them.