I am using open-gpstracker to track routes. After quite some time I have collected a large number of tracks that I like to export as GPX files. The application allows to do that, however, there is no export option for all tracks at once.

I am using a device without root access. Is there any way I could access the SQLite database of the application? I also thought of modifying the source code of the opensource application to my requirements, but I am afraid of losing my data when I install the customized version of the app on my device. Am I right, that this can be a problem?

Update: I came up with the idea that I could use the ContentProvider of the application, if there is one included and if it is public. I could write another application that uses the interface to access the database. Do you think this is possible? How can I see if there is a public ContentProvider?


Each app on Android stores its data on internal storage by default, below the /data/data/<package_name> directory. Due to the sandbox princip, except the app itself and root nobody has access to that if not explicitly defined otherwise by the developer (e.g. Skype currently has a serious security flaw giving everybody read/write access to all its data, including plain-text passwords). So no, you won't be able to get access to the database, which most likely is located in the /data/data/nl.sogeti.android.gpstracker/databases/ directory without having root access to your device.

As for your second question: You are assuming correctly. As you don't have access to the developers certificate (for good reasons), you cannot "update" the original app with your modified version. You would have to uninstall and then re-install -- or giving your modified version a different package name. In both cases, you won't have access to the original apps data.

  • You can backup the app data using TitaniumBackup and restore (only the app data) onto a differently signed app with the same package name though (root required).
    – ce4
    Sep 3 '12 at 10:35
  • Good point -- I didn't consider that. Sure, that should do -- thanks for pointing it out!
    – Izzy
    Sep 3 '12 at 10:49
  • @ce4 Interesting option. However, I do not have root access. How about my updated question regarding the ContentProvider?
    – JJD
    Sep 25 '12 at 21:52
  • 1
    The full path of the database file should be /data/data/nl.sogeti.android.gpstracker/databases/GPSLOG.db. Source: 1
    – JJD
    Apr 29 '13 at 13:06
  • 1
    There is a solution for debuggable apps. Another post here.
    – JJD
    Jul 21 '14 at 9:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.