2011-11-10 15 views
0

私はroot権限でabdツールを介してデバイスデータベースにアクセスできることを知っています。私の質問は、1.インストールされているアプリケーションがデータベースにアクセスする方法は、アンドロイドマーケットではなく、電子メールを介してアプリをインストールした場合です。2.このアプリがAndroidマーケットによって配布されている場合、dbはまだ/ data /データ/パッケージ名/データベース?電話デバイスにアクセスする電話ユーザーによるデータベース

これは私が私が私のacctにそれを電子メールで送信します。、アプリに署名する自己証明書キーストアを使用して、自分の携帯電話にインストールし、質問1.

にやった方法です。私がアプリケーションを起動したとき、私のアプリはまだアセットから/ data/data/packagename/databasesにコピーされるはずのAppのデータベースを見つけることができません。 この部分はエクリプスエミュレータで正常に動作していました。/data/data/...ディレクトリにデータベースを書き込むために、電話で何かを設定する必要がありますか?これは本当に私を夢中にする...

質問2: アンドロイドマーケットで配布されたアプリの場合、そのアプリはアセットフォルダから/ data/data/..にデータベースをコピーできますか?ユーザーは/ data/data/..のデータベースにデータを変更することができます。私のアプリケーションは電話ユーザーにデータをデータベースに保存するように求められています。

おかげ

答えて

0

たぶんthisは、資産からデータベースを初期化するお手伝いをすることができます。

W.r.t. Q2:あなたのアプリが電話にどのように来たかは関係ありません。パッケージ名と署名の公開鍵が同じである限り、アプリはまったく同じように扱われます。

もちろん、あなたのアプリはもちろん、独自のデータベースを読み書きできます。一般的な「非ルート」ユーザーの場合、に直接アクセスできますが、アプリ経由でのみアクセスできます。

+0

Hanno、 ご返信ありがとうございます。 "assets"フォルダからexsitingデータベースをシステムデータベース/ data/dat /にコピーすることを含むエミュレータでのすべての処理は問題ありません... 私の気になるところは、アプリケーション内のデータベースがメールstaill電話ユーザーはアクセスできません。 問題は証明書の署名によって引き起こされますか? 私はそれに署名する指示に従った。これをデバッグする方法はありますか? あなたの答えは高く評価されています! – user1040179

+0

SDKを使ってUSB経由で実際のデバイスにアプリケーションをインストールしようとしましたか(adb)? USBを使って* adb shell *を使って、/ data/data/...ディレクトリに実際に書き込まれているものを見たり、[DDMS](http://stackoverflow.com/questions/)を使うこともできます。 3292818/inspecting-android-sql-database-from-eclipse)を参照してください。 – JimmyB

関連する問題