0

Android OS を少し変更していて、特定のアプリの sqlite データベースにアクセスしたいと考えています。

場所が に保存されていることは知ってい/data/data/your.applications.package/databasesますが、実際のアプリのコンテキスト外からデータベースを sqliteDatabase コネクタにロードする方法はありますか?

4

2 に答える 2

1

ただし、実際のアプリのコンテキスト外からデータベースを sqliteDatabase コネクタにロードする方法はありますか?

はい (データベースを開こうとしているコードに、データベース ファイルへの読み取りおよび書き込み権限がある場合)。その場合は、open()on を使用してSQLiteDatabaseください。

そのため、ルートとして実行されているアプリはこれを実行できますが、セキュリティ上の理由から、通常の他のアプリは実行できません。

カーネルからアクセスしようとしても?

カーネルは Dalvik を実行しないため、上記の方法でデータベースを開くことはできません。

于 2012-04-21T10:53:31.663 に答える
0

可能性はないと思います。これは、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

于 2012-04-21T07:58:46.947 に答える