Accessing files in Android app
SimpleX uses databases and stores its preferences inside private data directory in Android. The directory contains:
- sent and received files
- temporary files that will be deleted when not needed
- user preferences.
If you want to view what's stored inside SimpleX data directory you need to have:
- Unix-based operating system (or MinGW on Windows)
- ADB (Android Debug Bridge) tool installed on a computer (download it here and install)
- your device connected via USB or Wi-Fi to the computer.
- open SimpleX, go to
Database passphrase & export, enable
App data backup. This will make other steps working
- optional: if you want to view database contents, change database passphrase from random to yours. To do this, stop a chat in
Database passphrase & exportscreen, open
Database passphrase, enter new passphrase and confirm it, then update it. Do not forget it, otherwise you'll lose all your data in case passphrase will be asked again later
- open a terminal emulator (Windows CMD/Powershell will not work) and change directory to the one you want to use for storing the backup:
cd /tmp # just an example
Then run the following:
adb -d backup -f chat.ab -noapk chat.simplex.app &&
tail -n +5 chat.ab > chat.dat &&
printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" | cat - chat.dat > chat.gz &&
tar -xvzf chat.gz
Now unlock the device and confirm a backup operation without using a password for encryption, otherwise the commands will not work.
After that the backup should be ended. If you see an error saying
tar: Error is not recoverable: exiting now but before that you have printed some file names, don't worry, it's ok.
Now the backed-up files will be inside
Please, note, that if you use a modern version of SimpleX, the databases will be encrypted, and you'll not be able to view contents of them without using
sqlcipher application and without knowing decryption passphrase (you need to change it to yours from randomly generated in the app firstly).
In order to view database data you need to decrypt it first. Install
sqlcipher using your favorite package manager and run the following commands in the directory with databases:
# Ensure it works fine
select * from users;
If you see
Parse error: no such table: users, make sure you entered correct passphrase, and you have changed passphrase from random in Android app (if you got this database from Android device, of course).