2009-08-07 33 views

Trả lời

42

Tốt, tôi đã tìm thấy tệp ngay sau khi tôi nêu câu hỏi ở trên. (Có vẻ như đặt câu hỏi công khai kích thích tôi tự tìm kiếm câu trả lời một cách chăm chỉ hơn, vì tôi không muốn những người bạn thân yêu của tôi xem tôi như một lập trình viên lười biếng.)

Đây là tệp XML dưới /data/data/your.app.package.name/shared_prefs và tệp tên là your.app.package.name_preferences.xml. Nó thực sự dễ dàng để sửa đổi các sở thích khi bạn tìm ra rằng nội dung chỉ là một bản đồ khóa-giá trị.

+1

Làm thế nào để chỉnh sửa tập tin XML sử dụng adb? – Fred

+1

Khi được hỏi, bạn có thể chỉnh sửa nó như thế nào? VI và Nano biên tập viên không được cài đặt. Làm thế nào để bạn chỉnh sửa nó hơn ??? – susparsy

+1

adb pull , chỉnh sửa trên thiết bị của bạn, adb push joecks

24

Nếu ứng dụng là debugable bạn có thể làm:

$ adb shell 
$ run-as <app-package-id> 
$ cat /data/data/<app-package-id>/shared_prefs/prefs.xml 

Lưu ý rằng các ưu tiên có thể được lưu trữ trong tập tin khác để tốt hơn kiểm tra thư mục để tìm thấy nó:

$ ls /data/data/<app-package-id>/shared_prefs/ 
6

tôi đang sử dụng một lớp lót thuận tiện này để kéo, chỉnh sửa trong vim và đẩy tùy chọn được chia sẻ cho một ứng dụng:

APP_ID=com.myapp; adb pull /data/data/${APP_ID}/shared_prefs/${APP_ID}_preferences.xml /tmp/${APP_ID}_preferences.xml && vim /tmp/${APP_ID}_preferences.xml && adb push /tmp/${APP_ID}_preferences.xml /data/data/${APP_ID}/shared_prefs/ 

Chỉ cần đặt APP_ID vào id ứng dụng của bạn.

Lưu ý rằng điều này giả định bạn đang sử dụng tên tệp mặc định cho các tùy chọn được chia sẻ, như được lấy từ PreferenceManager.getDefaultSharedPreferences(context). Ngoài ra, ADB cần phải chạy ở chế độ gốc: adb root

0

Tệp tùy chọn chia sẻ kéo đầu tiên từ thiết bị. Điều này đòi hỏi sự can thiệp gốc.

adb pull /data/data/org.test/shared_prefs/MyKeys.xml MyKeys.xml 

Bây giờ MyKeys.xml được lưu trữ trong thư mục hiện tại của hệ thống.

Sửa giá trị bằng

vim MyKeys.xml 

Sau khi chỉnh sửa tập tin lưu các thay đổi và đẩy vào thiết bị.

adb push MyKeys.xml /data/data/org.test/shared_prefs/MyKeys.xml 

Để Xác nhận thay đổi của bạn

adb shell 
cat /data/data/org.test/shared_prefs/MyKeys.xml 
Các vấn đề liên quan