SORU
3 AĞUSTOS 2011, ÇARŞAMBA


Hata ayıklama cihaz üzerinde veritabanı sqlite

Şu anda Android için WiFi bir uygulama üzerinde çalışıyorum. Sorun cihazda veritabanına erişmek için çalışarak geçiriyorum. Öykünücüsü hata ayıklama öykünücüsü WiFi desteği yok çünkü benim için işe yaramaz. Veritabanı aygıtı kullanarak dosya çekmeye çalıştım

adb pull data/data/package-name/databases/database-name

Ama hata alıyorum "İzin verilmedi.". Bu cevap Android: Where are database files stored?, Commonsware hata ayıklama modunda çalıştırarak veritabanı dosya çekmeyi önerdi. Ama çok da işe yaramıyor. Cihaz köklenme olmadan veritabanı hata ayıklama için nasıl herhangi bir yardım çok mutluluk duyacağız.

CEVAP
8 Aralık 2011, PERŞEMBE


another answer tekrar ediyorum:

Başlatılmasını API seviyesi 8 (Android 2.2), yapı uygulama olarak debuggable kullanabilirsiniz kabuğu run-as komut çalıştırmak için bir komut ya da çalıştırılabilir olarak belirli bir kullanıcı/uygulama veya sadece geçiş yapmak için UID Uygulama böylece erişim verilerini dizin.

Çok istiyorsanız çekin uygulamanız veritabanından cihazı çalıştıracağını uygulama hata ayıklama modu (bunu yapmak için, sadece çalıştırın ondan Tutulması), connect adb -d shell ve aşağıdaki komutları çalıştırın:

run-as package-name
cat /data/data/package-name/databases/database-name >/sdcard/database-name

Bu SD kart kök yourdatabase.db kopyalar. Şimdi kolayca oradan (USB depolama kullanarak, alırsınadb çekinya da her ne olursa olsun senin gibi).

GÜNCELLEME@Shiki uygun bir one-liner sağlanan bir adb kabuk girmeden kullanabilirsiniz:

adb -d shell 'run-as com.yourpackage cat /data/data/com.yourpackage/databases/dbname.sqlite > /sdcard/dbname.sqlite'

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • kimaliz

    kimaliz

    18 Temmuz 2006
  • OVERWERK

    OVERWERK

    6 Temmuz 2010