Android OS を少し変更していて、特定のアプリの sqlite データベースにアクセスしたいと考えています。
場所が に保存されていることは知ってい/data/data/your.applications.package/databases
ますが、実際のアプリのコンテキスト外からデータベースを sqliteDatabase コネクタにロードする方法はありますか?
ただし、実際のアプリのコンテキスト外からデータベースを sqliteDatabase コネクタにロードする方法はありますか?
はい (データベースを開こうとしているコードに、データベース ファイルへの読み取りおよび書き込み権限がある場合)。その場合は、open()
on を使用してSQLiteDatabase
ください。
そのため、ルートとして実行されているアプリはこれを実行できますが、セキュリティ上の理由から、通常の他のアプリは実行できません。
カーネルからアクセスしようとしても?
カーネルは Dalvik を実行しないため、上記の方法でデータベースを開くことはできません。
可能性はないと思います。これは、Androidのセキュリティモデルの基本です。http://developer.android.com/intl/de/guide/topics/security/security.html
他のデータベースには、そのデータにアクセスできるようにするために、公開されたContentProviderが実装されている必要があります。次に、これを試すことができますhttp://androidforums.com/application-development/65082-accessing-database-another-application-using-content-provider.html