【Android】inaccessible or not found っていうエラーを解決【データベース】
今回のこと
ドットインストールのAndroidデータベース入門を進めていて、Android Studio内のターミナルを使っていた時の出来事です。
コマンドラインを使ってエミュレーターの中に入り、データベースの中身を操作する、ということをやりました。
その際のエラーが解決できたので、備忘録として書いていきます。
どう解決したか
もうすでにターミナルを使って、エミュレーターの中に入り、データベースのファイルがあるdatabasesディレクトリに移動していることを仮定して書いていきます。
まずは、lsでdatabasesディレクトリの中身を見ます。
generic_x86_arm:/data/data/パッケージ名/databases $ ls
実行結果
(db拡張子のファイル) (右と同じファイル)-journal
では、このファイルを、「sqlite3 ファイル名」でsqliteを起動しましょう。
generic_x86_arm:/data/data/パッケージ名/databases $ sqlite3 ファイル名
実行結果
sh: sqlite3: inaccessible or not found
あれ、ちがう結果になった。。。
原因を調べてみたところ、
「Google Playが実装された仮想デバイスは、root権限でログインできない」とのことでした。
参考サイト https://teratail.com/questions/186703
「Play ストア」欄に、三角マークがついていないものを新たにダウンロードなりして、それを起動しましょう。
起動出来たら、上のほうで省略しましたが「adb shell」からまた同じ手順でコマンドを入力していきましょう。
恐る恐る「sqlite3 ファイル名」と入力すると、
実行結果
SQLite version 3.28.0 2020-05-06 18:46:38
Enter ".help" for usage hints.
sqlite>
できたーーー!!
こんな感じの文が出てきたら起動が成功です。
結論
仮想デバイスがGoogle Playが実装されているかそうでないか、確認してみよう。
参考にさせていただきました
Androidデータベース入門 (全10回) - プログラミングならドットインストール(有料サービス)
Android - ADBコマンドをroot権限で使いたい|teratail
Author And Source
この問題について(【Android】inaccessible or not found っていうエラーを解決【データベース】), 我々は、より多くの情報をここで見つけました https://qiita.com/uchip__/items/d128391cdb4169ccc3c5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .