Android - Write permission on certain paths, like the SD card (extSdCard)

One of the restrictions introduced with 4.4-kitkat was moving the WRITE_EXTERNAL_STORAGE permission to protection-level "SignatureOrSystem", which means even if requested, a "normal app" (i.e. one you install yourself as "normal user" without any root specialities) will no longer get it granted. So there are very few things you can do to "work around" this:

  • obviously: rooting the device, and removing this limit
  • using the app's "personal" directory as storage for your sync'd files (i.e. <sdcard>/Android/data/<package_name>/, as this is the only place an app can write on SD with Kitkat)
  • using your internal-sd card as storage (as here the limitation does not apply)