2011-08-19 33 views
6

Tôi đang xây dựng một ứng dụng có một db SQLite trong đó. Một số dữ liệu không bị xóa vì nó phải là, tôi muốn chạy các truy vấn đặc biệt trong db hiện có để gỡ lỗi.gỡ lỗi android: kết nối với sqlite db trên điện thoại

Có cách nào để kết nối với db SQLite trên điện thoại (hoặc trình mô phỏng) trong khi ở chế độ gỡ lỗi không?

Trả lời

5

Có, bạn có thể kết nối với thiết bị của mình (hoặc trình giả lập) bằng cách sử dụng this manual. Sử dụng adb để kết nối với các giả lập:

$ adb -s emulator-5554 shell 

và sau đó khởi động ứng dụng sqlite3 với cơ sở dữ liệu bạn cần:

# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db 

Sau đó, bạn có thể chạy bất kỳ truy vấn SQL mà bạn muốn.

+0

Tôi không nghĩ bạn có thể sử dụng sqlite3 trên thiết bị thực tế – ZiviMagic

3

Bạn có thể sử dụng lệnh sqlite3 để mở cơ sở dữ liệu. Nếu bạn có thiết bị gốc (cũng hoạt động trên trình mô phỏng), hãy sử dụng su để trở thành root và truy cập vào các tệp riêng tư. Nếu không, chỉ cần làm cho ứng dụng của bạn có thể gỡ lỗi và sử dụng run-as để mở DB. Một cái gì đó như:

run-as my.package sqlite3 /data/data/my.package/databases/my.db 
Các vấn đề liên quan