Starting with Android 4.4 or Kitkat, Android apps can no longer write to arbitrary locations on the External SD card or storage so MySword can no longer create the mysword folder on the root of the External SD card. There is no problem with the Internal storage (or Internal SD card or emulated SD card) though and you can still choose it as the MySword Modules path.
Google has restricted the access to the External SD card so that any apps who need to read and write data files must save them on a private folder under /<External SD Card alias>/Android/data/<app package name>. So for MySword, if the External SD Card alias is extsdcard then that path would be /extsdcard/Android/data/com.riversoft.android.mysword. Note that Google wanted that when any app is uninstalled, all files associated with it saved onto such private folder will be deleted also for a clean uninstall. This, however, is not good for regular MySword users because all their settings, notes and journal files will also be deleted together with all downloaded modules unless they were backed up elsewhere. Some users actually try to uninstall apps then reinstall them when they encounter problems but that will cause more problems in Kitkat if they use the private folder because all the files of the app will be deleted upon uninstall.
Samsung Galaxy S4 and Note 3 upgraded to Kitkat now comply with Google's restriction to the SD card. Many OEMs will also probably comply, especially the popular/big ones. So for the MySword app, the Internal storage will now be the recommended path for the modules.
Most China Kitkat devices will probably still enable the read and write access to arbitrary locations on the SD card though because it is very much needed on low end devices with only 4 GB of internal storage. One user reported that the upgrade of the China device to Kitkat allowed MySword to have the modules path on the External SD card in spite of already having 16 GB of internal storage.
If you had upgraded to Kitkat and experienced the EACCES (Permission denied) error, it is because you had used the external SD as MySword modules path. What you can do is:
- Copy the entire mysword folder from the External SD into the Internal storage
- Remove the External SD or rename the mysword folder there
- Run and Select the Module's path in the Internal storage if it was not automatically detected
If you still want to use the External SD card for MySword in Kitkat, there is a root solution but we do not recommend that for ordinary users. Here is the link: Galaxy S4 / Note 3 KitKat SD Card Update Issue? You’re Not Alone – Root Fix Inside.
If you are reluctant to upgrade to Kitkat because of this SD card issue, please note that you will be missing many new and important features of Kitkat relevant to MySword especially the new MySword 5.0:
- Better Hebrew font support even in old versions of MySword - you can now see the Hebrew font rendered in different font styles and no longer in the ugly Roboto font in case there are diacritics and cantillation marks.
- Better WYSIWYG/Rich text editor for Personal Notes and Journals (and Tag Notes as well) in MySword 5.0
If you are planning to buy a new Android Kitkat device, please consider and reserve enough internal storage space for MySword:
- Minimal install (default modules): 100 MB or higher
- Power user install with many Bibles and modules: 1 GB or higher
For a multi-user tablet, multiply that number by the number of potential users.
Do not also forget to factor in other apps and their data, pictures, videos like downloaded sermons and the likes.
1 May 2014 update:
With MySword 5.1, it is now possible to split the modules path into:
- Internal Storage - for user files in these folders: mydata (which contained settings), notes, journals and images.
- External SD card path (allowed app private folder as discussed above) - for downloadable modules: bibles, books, commentaries, dictionaries, fonts and languages
See MySword 5.1 Split Modules path for Kitkat (internal plus External SD).
Enjoy using MySword in Kitkat!
God bless!