I’ve been using KeePass for a long time to keep track of most of my accounts and passwords and to keep all my passwords different (as I always recommend). KeePass is an open source, secure and free password manager that works across many platforms including all my computers (KeePass), and phones and tablets (KeePassDroid). Lately I’ve started using Dropbox to synchronize the KeePass file through the cloud and I am reasonably happy with how it works and keeps the file available even for offline use on the device. Now it was time to test synchronization with Google Drive instead of Dropbox.
I’m afraid I have several bad news for those who’d rather use KeePassDroid with Google Drive. So far I haven’t been able to seamlessly synchronize the KeePass file with my Android devices via Google Drive for several reasons, the first being the constant changes of the hosting folder name and the fact that it becomes read-only when marked for offline use (supposedly only when not connected to the internet, but I’m not sure about that either). In theory it does synchronize, but I’ve experienced too many problems, and it takes way too many steps “on foot” each time I want to open the KeePass password file. I believe the root of the problem is the difference between the way DropBox and Google Drive keep their files on Android.
Dropbox always keeps updating the same file and even if the app totally dies, you can always browse to the folder on your android phone or tablet and open the synchronized .kdb database (location provided in my KeePass Dropbox sync link above). That’s in case of emergency, but I always open the file from the Dropbox app, which has so far been working flawlessly.
Google Drive apparently caches and constantly changes the folder name in which it keeps the files marked for offline use. This makes the KeePassDroid on my phone remember many different KeePass.kdb files from /data/data/com.google.android.apps.docs/cache/xxyyzz/ folder (where the xxyyzz folder name keeps changing – see screen capture) because it sees each new version as a completely new database. Each time before entering my password I have to remember to browse and point to the key file I’m using in combination with the password (for more secure two-factor authentication with the key file existing only on my devices but not on my cloud drive). I can see this in my KeePassDroid, where history points to many different files with unrecognizable cryptic and numerical parent folder name. Unlike Google Drive, Dropbox always keeps the same file and just keeps updating it, as one would expect.
Another unexpected bad surprise with Google Drive is that with offline use a file becomes read-only, which is incredibly close to “sofa king we Todd it”. If I set an important file for offline use, that means that I want to be able to use it regardless whether I have a mobile data connection and the system should take care of synchronization later in the background when the connection is established. I don’t understand how Google can miss something this big.
Moreover, if I turn off the offline toggle on the file, now the KeePass remembers its location, but I’m getting “Permission denied” when I try to add a new entry or change an existing one.
Therefore, I hereby sincerely regret to inform you that in my best intentions I didn’t have any luck configuring Google Drive to work with my KeePass file on Android. The files synchronization and the offline features work much better and reasonably well with Dropbox, so I’m switching back.