1

I developed a dictionary where I need to copy the database file into anothers app internal storage. I achieved it with same sharedUserId in manifest in both apps.

android:sharedUserId="edu.games.main.permission.database"
android:sharedUserLabel="@string/sharedUserLabel"

The system works. When I generate a signed APK of my dictionary and my app, which installs the data into the internal memory of dictionary, it works okay.

But, when I upload those signed apps on Google Play and download it from there, this problem appears:

EACCES (Permission denied)

  1. Does Google Play somehow modify the app? It works on without Google Play, but it does not with it.

  2. Are there any suggestions how to copy an external database from Google Play and install it into internal memory of your application without using server outside of Google Play?

Hexaholic
  • 3,299
  • 7
  • 30
  • 39
Malbac
  • 197
  • 1
  • 1
  • 12
  • 1
    These are two very different questions, I'd suggest splitting these up. – Andrew T. May 13 '15 at 13:41
  • When you download one from the Play Store, do you still have the other installed with the debug key? – Kevin Krumwiede May 13 '15 at 17:22
  • Both application are signed with same key. Both app have same sharedUserId, so It is not possible to install one with debug key and one with the key, which is used in play store. When I install both signed apps directly (copy to phone and install) it works, but once I upload same signed package on play store and download it, it does not work anymore. EACCES (Permission denied) – Malbac May 13 '15 at 17:57

1 Answers1

0

Google Play Store doesn't resign your apk, but that would explain your behavior. I'd download both onstore and offstore copies of your apk and compare their signatures with jarsigner

Source: Verifying that two apk files are signed with the same signature

Here's a similar SO question: Exception 'open failed: EACCES (Permission denied)' on Android

Community
  • 1
  • 1
Andrew T.
  • 2,088
  • 1
  • 20
  • 42