Suggestion on how to view/modify crimeBase.db database from laptop

I tested this on a Mac using both Nexus 7 tablet and Pixel 2 phone.
I did not test using Windows laptop, but approach should be similar.
It is true that release versions of Android apps use protected sandbox storage that is not accessible outside the app.
However, when running an app from AndroidStudio, even on a non rooted hardware device (non-emulator), the app is debuggable and the files in the sandbox are read/write accessible.
You can copy the database files from the sandbox to more accessible storage such as /sdcard/Download/ and then use adb pull to copy the file off the device.
You can then view and modify the database on your laptop and then use adb push to copy back to device and then move back to sandbox where app will use updated database file.

The steps below allow you to:
— 1. Copy crimeBase.db database file off any hardware device (does not have to be rooted) to a laptop.
— 2. Examine and modify crimeBase.db database on laptop using sqlite.
— 3. Copy database back to hardware device and view updated data in CriminalIntent app.

— 1. Copy crimeBase.db database file off any hardware device (does not have to be rooted) to a laptop.

Note: the below adb command file is in your sdk install.
somewhere like /Users/mark/Library/Android/sdk/platform-tools/adb
put it in your PATH or create an alias using your actual path instead of mine
i.e. alias adb=’/Users/mark/Library/Android/sdk/platform-tools/adb’

Start AndroidStudio
Attach Android device to Mac laptop USB
Run CriminalIntent app and create a couple new crime entries.
Exit CriminalIntent app

From Mac terminal window prompt:
$ adb shell

You are now in Android shell, run these commands (ignore newlines from page formatting):

$ cd /sdcard/Download/

$ run-as com.bignerdranch.android.criminalintent ls -l /data/data/com.bignerdranch.android.criminalintent/databases/

$ run-as com.bignerdranch.android.criminalintent cat /data/data/com.bignerdranch.android.criminalintent/databases/crimeBase.db | cat >/sdcard/Download/crimeBase.db

$ ls -l

$ exit

You are now back on Mac
$ adb pull /sdcard/Download/crimeBase.db ./crimeBase.db

$ ls -l

— 2. Examine and modify crimeBase.db database on laptop using sqlite.

crimeBase.db database file is now on your Mac where you can view/modify it using sqlite.

download sqlite from here https://www.sqlite.org/download.html
sqlite quick guide here: https://www.tutorialspoint.com/sqlite/sqlite_quick_guide.htm

From Mac terminal window prompt, create a few UUIDs:
$ uuidgen | tr ‘[:upper:]’ '[:lower:]'
9c3fd2d3-0649-47b2-8712-2a3bb8bb4e09

$ uuidgen | tr ‘[:upper:]’ '[:lower:]'
ee14eb05-ad89-47df-b269-0d9242a810da

$ uuidgen | tr ‘[:upper:]’ '[:lower:]'
ce520771-74f9-4075-a672-8b389ab5f318

Run sqlite to examine and modify the database:

$ sqlite crimeBase.db
SQLite version 3.21.0 2017-10-24 18:55:49
Enter “.help” for usage hints.

sqlite> .tables
android_metadata crimes

sqlite> .schema crimes
CREATE TABLE crimes (uuid, title, date, solved);

sqlite> select count(*) from crimes;
2

sqlite> select * from crimes;
6c56b22c-3b47-40c4-b698-711da49d65a7|Crime #1|1514782800000|0
42c62dc4-0fd8-4b68-9360-aec65033b1ac|Crime #2|1515808735724|1

note #1 fix the quotes, ", in the three insert statements below, markup is changing from straight quote to special characer:
note #2 only use uuid values that are lower case, if they contain upper case letters Android app will crash due to record not found.
INSERT INTO crimes (uuid, title, date, solved) VALUES (“9c3fd2d3-0649-47b2-8712-2a3bb8bb4e09”, “Crime #3”, 1514783800000, 0);
INSERT INTO crimes (uuid, title, date, solved) VALUES (“ee14eb05-ad89-47df-b269-0d9242a810da”, “Crime #4”, 1515783800000, 1);
INSERT INTO crimes (uuid, title, date, solved) VALUES (“ce520771-74f9-4075-a672-8b389ab5f318”, “Crime #5”, 1516783800000, 0);
select * from crimes;
.exit

— 3. Copy database back to hardware device and view updated data in CriminalIntent app.

From Mac terminal window prompt:
$ adb push ./crimeBase.db /sdcard/Download/

$ adb shell

You are now in Android shell, run these commands:
$ cat /sdcard/Download/crimeBase.db | run-as com.bignerdranch.android.criminalintent tee /data/data/com.bignerdranch.android.criminalintent/databases/crimeBase.db | wc

$ run-as com.bignerdranch.android.criminalintent ls -l /data/data/com.bignerdranch.android.criminalintent/databases/

Restart the CriminalIntent app and view the new entries that were inserted into the database on the Mac laptop using sqlite.