[sword-devel] Where does Bishop store SWORD files on Android?

Tobias Klein contact at tklein.info
Sat Jan 2 08:36:21 EST 2021


I just created an empty file /sdcard/sword/mods.d/globals.conf, but I 
still get the same error message as below.

It seems like the method FileMgr::existsFile is not detecting the file 
/sdcard/sword/mods.d/globals.conf on my tablet.

Best regards,
Tobias

On 1/2/21 10:49 AM, Tobias Klein wrote:
>
> Ok!
>
> Below is a full dump of adb logcat | grep libsword.
>
> Seems like this is the key section, though:
>
> 01-02 10:35:25.259  5450  5538 D libsword.so: libsword: init() sword 
> config not found, attempting to create parent of: 
> /sdcard/sword/mods.d/globals.conf
> 01-02 10:35:25.260  5450  5538 D libsword.so: libsword: init() saving 
> basic: /sdcard/sword/mods.d/globals.conf
> 01-02 10:35:25.260  5450  5538 D libsword.so: libsword: init() sword 
> config STILL not found, attempting to create parent of: 
> /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf
> 01-02 10:35:25.262  5450  5538 D libsword.so: libsword: init() saving 
> basic: /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf
>
> What is mods.d/globals.conf used for? It seems like this file is 
> missing in my existing SWORD file structure.
>
> Best regards,
> Tobias
>
> Complete log:
>
> 01-02 10:35:25.258  5450  5538 I libsword.so: LOOKING UP LOCALE 
> DIRECTORY...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking for provided 
> SWConfig("sword.conf")...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking working 
> directory for sword.conf...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking working 
> directory for mods.conf...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking working 
> directory for mods.d...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking working 
> directory ../library/ for mods.d...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking $SWORD_PATH...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Parsing 
> /etc/sword.conf:/usr/local/etc/sword.conf...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking for 
> /etc/sword.conf...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking for 
> /usr/local/etc/sword.conf...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking 
> $ALLUSERSPROFILE/Application Data/sword/...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking 
> $HOME/Library/Application Support/Sword/...
> 01-02 10:35:25.258  5450  5538 I libsword.so: Checking home directory 
> for ~/.sword...
> 01-02 10:35:25.259  5450  5538 I libsword.so: LOOKING UP LOCALE 
> DIRECTORY COMPLETE.
> 01-02 10:35:25.259  5450  5538 I libsword.so: LOOKING UP LOCALE 
> DIRECTORY...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking for provided 
> SWConfig("sword.conf")...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking working 
> directory for sword.conf...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking working 
> directory for mods.conf...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking working 
> directory for mods.d...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking working 
> directory ../library/ for mods.d...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking $SWORD_PATH...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Parsing 
> /etc/sword.conf:/usr/local/etc/sword.conf...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking for 
> /etc/sword.conf...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking for 
> /usr/local/etc/sword.conf...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking 
> $ALLUSERSPROFILE/Application Data/sword/...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking 
> $HOME/Library/Application Support/Sword/...
> 01-02 10:35:25.259  5450  5538 I libsword.so: Checking home directory 
> for ~/.sword...
> 01-02 10:35:25.259  5450  5538 I libsword.so: LOOKING UP LOCALE 
> DIRECTORY COMPLETE.
> 01-02 10:35:25.259  5450  5538 D libsword.so: libsword: init() begin
> 01-02 10:35:25.259  5450  5538 D libsword.so: libsword: init() sword 
> config not found, attempting to create parent of: 
> /sdcard/sword/mods.d/globals.conf
> 01-02 10:35:25.260  5450  5538 D libsword.so: libsword: init() saving 
> basic: /sdcard/sword/mods.d/globals.conf
> 01-02 10:35:25.260  5450  5538 D libsword.so: libsword: init() sword 
> config STILL not found, attempting to create parent of: 
> /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf
> 01-02 10:35:25.262  5450  5538 D libsword.so: libsword: init() saving 
> basic: /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf
> 01-02 10:35:25.263  5450  5538 D libsword.so: libsword: extraConfig 
> Exists at path: /data/user/0/org.crosswire.bishop/files/extraConfig.conf
> 01-02 10:35:25.263  5450  5538 D libsword.so: libsword: init() 
> creating WebMgr using path: /data/user/0/org.crosswire.bishop/files
> 01-02 10:35:25.267  5450  5538 I libsword.so: Checking at provided 
> path: /data/user/0/org.crosswire.bishop/files/...
> 01-02 10:35:25.267  5450  5538 I libsword.so: Found mods.d/
> 01-02 10:35:25.267  5450  5538 D libsword.so: libsword: WebMgr 
> c-tor(path: /data/user/0/org.crosswire.bishop/files, extraConfPath: 
> /data/user/0/org.crosswire.bishop/files/extraConfig.conf)
> 01-02 10:35:25.267  5450  5538 D libsword.so: libsword: WebMgr::c-tor 
> extraConfPath supplied: 
> /data/user/0/org.crosswire.bishop/files/extraConfig.conf)
> 01-02 10:35:25.267  5450  5538 I libsword.so: LOADING MODULE 
> CONFIGURATIONS...
> 01-02 10:35:25.267  5450  5538 I libsword.so: LOADING MODULE 
> CONFIGURATIONS COMPLETE.
> 01-02 10:35:25.267  5450  5538 I libsword.so: LOADING MODULE LIBRARY...
> 01-02 10:35:25.268  5450  5538 D libsword.so: libsword: 
> WebMgr::createAllModules
> 01-02 10:35:25.268  5450  5538 D libsword.so: libsword: 
> WebMgr::createAllModules extraConfig supplied: 
> /data/user/0/org.crosswire.bishop/files/extraConfig.conf)
> 01-02 10:35:25.268  5450  5538 D libsword.so: libsword: 
> WebMgr::createAllModules extraConfig exists. Augmenting modules config
> 01-02 10:35:25.269  5450  5538 D libsword.so: libsword: 
> SWMgr::createAllModules
> 01-02 10:35:25.269  5450  5538 I libsword.so: LOADING MODULE LIBRARY 
> COMPLETE.
> 01-02 10:35:25.269  5450  5538 D libsword.so: libsword: init() 
> augmenting modules from: 
> /sdcard/Android/data/net.bible.android.activity/files
> 01-02 10:35:25.269  5450  5538 D libsword.so: libsword: init() 
> augmenting modules from: /sdcard/sword
> 01-02 10:35:25.269  5450  5538 D libsword.so: libsword: init() adding 
> locales from baseDir.
> 01-02 10:35:25.269  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /data/user/0/org.crosswire.bishop/files/locales.d
> 01-02 10:35:25.269  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /data/user/0/org.crosswire.bishop/files/uilocales.d
> 01-02 10:35:25.269  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /sdcard/sword/locales.d
> 01-02 10:35:25.269  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /sdcard/sword/uilocales.d
> 01-02 10:35:25.269  5450  5538 D libsword.so: libsword: init() end.
> 01-02 10:35:25.413  5450  5538 D libsword.so: setting STORAGE_BASE to: 
> /data/user/0/org.crosswire.bishop/files
> 01-02 10:35:25.416  5450  5538 D libsword.so: libsword: init() begin
> 01-02 10:35:25.416  5450  5538 D libsword.so: libsword: init() sword 
> config not found, attempting to create parent of: 
> /sdcard/sword/mods.d/globals.conf
> 01-02 10:35:25.417  5450  5538 D libsword.so: libsword: init() saving 
> basic: /sdcard/sword/mods.d/globals.conf
> 01-02 10:35:25.417  5450  5538 D libsword.so: libsword: init() sword 
> config STILL not found, attempting to create parent of: 
> /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf
> 01-02 10:35:25.417  5450  5538 D libsword.so: libsword: init() saving 
> basic: /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf
> 01-02 10:35:25.417  5450  5538 D libsword.so: libsword: extraConfig 
> Exists at path: /data/user/0/org.crosswire.bishop/files/extraConfig.conf
> 01-02 10:35:25.417  5450  5538 D libsword.so: libsword: init() 
> creating WebMgr using path: /data/user/0/org.crosswire.bishop/files
> 01-02 10:35:25.418  5450  5538 I libsword.so: Checking at provided 
> path: /data/user/0/org.crosswire.bishop/files/...
> 01-02 10:35:25.418  5450  5538 I libsword.so: Found mods.d/
> 01-02 10:35:25.418  5450  5538 D libsword.so: libsword: WebMgr 
> c-tor(path: /data/user/0/org.crosswire.bishop/files, extraConfPath: 
> /data/user/0/org.crosswire.bishop/files/extraConfig.conf)
> 01-02 10:35:25.418  5450  5538 D libsword.so: libsword: WebMgr::c-tor 
> extraConfPath supplied: 
> /data/user/0/org.crosswire.bishop/files/extraConfig.conf)
> 01-02 10:35:25.418  5450  5538 I libsword.so: LOADING MODULE 
> CONFIGURATIONS...
> 01-02 10:35:25.419  5450  5538 I libsword.so: LOADING MODULE 
> CONFIGURATIONS COMPLETE.
> 01-02 10:35:25.419  5450  5538 I libsword.so: LOADING MODULE LIBRARY...
> 01-02 10:35:25.419  5450  5538 D libsword.so: libsword: 
> WebMgr::createAllModules
> 01-02 10:35:25.419  5450  5538 D libsword.so: libsword: 
> WebMgr::createAllModules extraConfig supplied: 
> /data/user/0/org.crosswire.bishop/files/extraConfig.conf)
> 01-02 10:35:25.419  5450  5538 D libsword.so: libsword: 
> WebMgr::createAllModules extraConfig exists. Augmenting modules config
> 01-02 10:35:25.419  5450  5538 D libsword.so: libsword: 
> SWMgr::createAllModules
> 01-02 10:35:25.419  5450  5538 I libsword.so: LOADING MODULE LIBRARY 
> COMPLETE.
> 01-02 10:35:25.419  5450  5538 D libsword.so: libsword: init() 
> augmenting modules from: 
> /sdcard/Android/data/net.bible.android.activity/files
> 01-02 10:35:25.420  5450  5538 D libsword.so: libsword: init() 
> augmenting modules from: /sdcard/sword
> 01-02 10:35:25.420  5450  5538 D libsword.so: libsword: init() adding 
> locales from baseDir.
> 01-02 10:35:25.420  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /data/user/0/org.crosswire.bishop/files/locales.d
> 01-02 10:35:25.420  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /data/user/0/org.crosswire.bishop/files/uilocales.d
> 01-02 10:35:25.420  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /sdcard/sword/locales.d
> 01-02 10:35:25.420  5450  5538 D libsword.so: LocaleMgr::loadConfigDir 
> loading /sdcard/sword/uilocales.d
> 01-02 10:35:25.420  5450  5538 D libsword.so: libsword: init() end.
> 01-02 10:35:25.420  5450  5538 D libsword.so: getModInfoList returning 
> 0 length array
> 01-02 10:35:25.456  5450  5538 W libsword.so: LocaleMgr::getLocale 
> failed to find locales
> 01-02 10:35:25.460  5450  5538 W libsword.so: LocaleMgr::getLocale 
> failed to find locales
>
> On 1/1/21 10:57 PM, Troy A. Griffitts wrote:
>> Hmmm. That's odd. If you can adb logcat your tablet while it is 
>> plugged into your laptop and have a look at the output when Bishop 
>> starts up, it might give us a clue. Bishop is pretty noisy to the 
>> logs. The detection logic is located in init(), here:
>>
>> https://crosswire.org/svn/sword/trunk/bindings/java-jni/jni/swordstub.cpp
>>
>>
>>
>> On January 1, 2021 2:18:29 PM MST, Tobias Klein <contact at tklein.info> 
>> wrote:
>>
>>     Thanks Troy!
>>
>>     I see this working with Bishop on my phone (Android 8.1.0). There
>>     Bishop reads from and writes to /sdcard/sword.
>>
>>     However, it is not working on my Tablet (Android 10). I do have
>>     SWORD directories there with this structure:
>>     /sdcard/sword
>>     /sdcard/sword/installMgr
>>     /sdcard/sword/mods.d
>>     /sdcard/sword/modules
>>
>>     When starting Bishop on the Tablet it asks for permissions and
>>     after confirmation it does not show any existing modules based on
>>     the structure above.
>>
>>     Best regards,
>>     Tobias
>>
>>     Am 1. Januar 2021 21:34:00 schrieb "Troy A. Griffitts"
>>     <scribe at crosswire.org>:
>>
>>>     Yes, that's exactly right. Upon install, Bishop asks for
>>>     permissions to read and right files to /sdcard/sword/. If it is
>>>     able, it does, if not, it writes to its app’s private data area.
>>>
>>>     I don't believe there is anything like this available on iOS,
>>>     but I am no expert. I would be interested to learn how iOS
>>>     handles other common data files which have multiple apps needing
>>>     the ability to read and write, like photos.
>>>
>>>     Thanks for wanting to coordinate on where files are stored.
>>>
>>>     Troy
>>>
>>>     On January 1, 2021 1:07:16 PM MST, Tobias Klein
>>>     <contact at tklein.info> wrote:
>>>
>>>         Hi Troy!
>>>
>>>         Happy new year!
>>>
>>>         Where does Bishop store the SWORD data files on Android? I
>>>         was browsing the filesystem but could not find the
>>>         respective directory.
>>>
>>>         I am asking because I am working on Android support for
>>>         node-sword-interface and I wanted to align this and use a
>>>         common place for the SWORD data files. So far I thought
>>>         /sdcard/sword would be the right place.
>>>
>>>         Best regards,
>>>         Tobias
>>>
>>>
>>>     -- 
>>>     Sent from my Android device with K-9 Mail. Please excuse my brevity.
>>
>>
>> -- 
>> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>>
>> _______________________________________________
>> sword-devel mailing list:sword-devel at crosswire.org
>> http://crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20210102/a66a5475/attachment-0001.html>


More information about the sword-devel mailing list