社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

Android(kotlin) SQLite コンソールにアクセスしてみる (エミュレータ対象)

環境

ホスト: Windows10
IDE: AndroidStudio

エミュレータ起動

ADV manager から起動する
f:id:blueskyarea:20200503183413p:plain

コマンドプロンプトでアクセス

1. 起動中のエミュレータ確認

>adb devices
List of devices attached
emulator-5554   device

2. adb コンソールにログイン

>adb shell
generic_x86:/ $

3. プロジェクトファイルへのアクセス権の取得

run-as {対象のプロジェクトのパッケージ名}

※例えば、run-as com.blueskyarea.app1

4. DBファイル格納ディレクトリへ移動

cd databases/

5. sqlite コンソールへログイン

sqlite3 {データベースファイル名.db}

6. テーブル一覧を取得

sqlite> .tables
android_metadata  words

※select 文などはおなじみの構文で問題なし
sqlite> select * from words;

データベース削除

データベースファイル(xxx.db) を削除すればOK.
sqlite コンソール上での操作は必要なし。

嵌ったところ

error: no devices/emulators found
> エミュレータが起動していなかっただけ

abd shell で Permission denied
> run as コマンドの実行が必要