With the release of Android 4.4 KitKat, Google introduced a few changes that impacted the way in which SD cards are handled. As a result, user-installed applications are not longer allowed to access the entirety of your SD card partition. Instead, user-installed apps running on KitKat are only given full access to files and folders of their own creation.
The change in SD card behavior in KitKat was a very deliberate one–and one which was aimed at improving both security and overall SD card tidiness. As you would expect from such a marked change, both users and third party applications were caught in the cross-fire and left with broken apps and support nightmares. Luckily for those looking to revert this behavior, there’s an easy workaround. But as you would imagine, this isn’t quite idea.
Now, there’s a glimmer of hope that a more ideal solution may be introduced into Android L when it is eventually released later this year. Earlier today, a report was filed on the Android L developer preview issue tracker that details one app developer’s concerns with the changes introduced into KitKat. The issue reads as follows:
In every Android version before 4.4, apps were allowed to (unofficially) write to the user’s external storage. Due to competitive pressures, users demanded this feature from app developers, whom were expected to provide this feature.
In Android 4.4, this was changed so that only system apps continued to have full access to the external storage, and other apps did not, unless they used new URI-based APIs.
- I don’t see how these APIs are usable from Java or Native code that expects to work with Files, not URIs.
- It places all 3rd-party app developers at a disadvantage versus system apps.
- Users expect apps to offer them full access to the SD card, and are not asking for this restriction. This has been my experience based on user feedback.
I don’t currently see how the changes in L will improve this situation. Am I missing something? If the situation’s not as dire as I see it, perhaps Google can consider a migration guide so that it’s more obvious how to transition to the new APIs and provide the same feature set as the current java.io.File / POSIX File APIs?
Please reconsider restoring this access, even if tied to a new permission.
The issue was promptly marked as “Acknowledged” by an Android project team member, who later followed up by saying that this suggestion will be passed along to the development team.
Obviously, this in no way indicates that the SD card access rules will be changed once Android L is released in the Fall. After all, simply reverting the change in KitKat would be counterproductive for the vast majority of Android users. However, it does indicate that Google is willing to consider taking another look at the policy change–even if nothing can or will be done as a result.
Are you an app developer frustrated by the SD card access policy changes in KitKat? Are you a frustrated user tired of broken apps? Or are you pleased with the added security and order made possible by this change? Let us know in the comments below!
Want something on the XDA Portal? Send us a tip! -- Join us for xda:devcon 2014!