2017-08-04 18 views
0

私はDBを暗号化するためにSQLCipherを使用していますが、.sqliteファイルをDBクライアントで開き、データが暗号化されていることを確認する必要があります。Androidの暗号化を検証するためにデータベースフォルダからsqliteファイルを取得する方法は?

問題は私が/data/data/<app.name>/databasesのファイルを取得できないことです。私はAndroidエミュレータを使用しています。

私は、ファイルプルしようとしてきた: adb pull /data/data/<app.name>/databases/databaseName.sqlite を私は得る:ADB:エラー:リモートオブジェクト '/データ/データ/ <app.name> /databases/databaseName.sqliteは'存在しません。

だから私はadb shellでエミュレータに入るとDB名を確認するためのフォルダやファイルを一覧表示する除氷が、私は許可がを否定し得ます。私はこれを解決する方法を探してadb rootが見つかりましたが、アドビはプロダクションビルドでrootとして実行できません。

私はこれを探していましたが、何か役に立つものはありませんでした。を構築adbd生産にrootとして実行することはできません。

だから最初はすべて、私は第二に、私は私が得ている理由を知りたいと思い、.sqliteファイルを取得したいと思います。

P.S.私はコンソールから取得しているもののイメージを追加します。 adb root command

+0

オプションは、アプリケーションデータへのアクセスを可能にするGenymotionエミュレータを使用することです。もう1つの方法は、アプリケーション内のファイルを場所にコピーすることです。私は両方の方法(後者はバックアップ/リストアを可能にするAppの一部として)を使用して、データベースを直接SQlite Managerにコピーします。 – MikeT

答えて

0

データベースのパスを取得するには、単にcontext.getDatabasePath(<databaseName>)を使用します。 パスを使用してデータベースを取得するのにadbを使用できない場合は、ルートを必要としないadb backupコマンドを使用してアプリケーションをバックアップしてみてください。

関連する問題