Android Device manager : "transfer error: Permission denied"

this is easy to do:

  1. plug in your device, and run adb shell from command line or terminal
  2. Once in the shell run-as com.myapplication.packagname
  3. then cd into the databases folder cd databases
  4. Then run cat my_datbase_name.db > /sdcard/my_database_name_temp.db
  5. run exit and then exit again to get back to the normal terminal prompt
  6. run adb pull /sdcard/my_database_name_temp.db and that should be it

You can donwload sqlitebrowser to view this data


The adb shell linux user and your app linux user are different. So, for security reason, you can't get private app data from adb, but you can make a copy as you did. I agree, it's messy and unclean but it's been designed that way. So my suggestion is to add Stetho to your app. You can monitor your DB from Chrome, as well as getting other debug infos.

Tags:

Android