我开发了一个字典,我需要将数据库文件复制到其他应用程序内部存储中。 我在两个应用程序中的清单中使用相同的sharedUserId实现了它。
android:sharedUserId="edu.games.main.permission.database" android:sharedUserLabel="@string/sharedUserLabel"系统有效。 当我生成我的字典和我的应用程序的签名APK,它将数据安装到字典的内部存储器中时,它可以正常工作。
但是,当我在Google Play上传这些已签名的应用并从那里下载时,会出现此问题:
EACCES(许可被拒绝)
Google Play会以某种方式修改应用吗? 它可以在没有Google Play的情况下运行,但它不适用于它。
是否有任何建议如何从Google Play复制外部数据库并将其安装到应用程序的内部存储器中,而无需使用Google Play之外的服务器?
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)
Does Google Play somehow modify the app? It works on without Google Play, but it does not with it.
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?
最满意答案
Google Play商店不会对您的apk进行重新签名,但这可以解释您的行为。 我下载你的apk的onstore和offstore副本,并将他们的签名与jarsigner进行比较
来源: 验证两个apk文件是否使用相同的签名进行签名
这是一个类似的SO问题: Android上的异常'开放失败:EACCES(Permission denied)'
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
更多推荐
发布评论