【问题标题】:Android, Does google play modify your apk. Access to internal memory安卓,google play会修改你的apk吗?访问内部存储器
【发布时间】:2015-05-14 01:10:00
【问题描述】:

我开发了一个字典,我需要将数据库文件复制到另一个应用程序内部存储中。我在两个应用程序的清单中使用相同的sharedUserId 实现了它。

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

系统正常工作。当我为我的字典和我的应用程序生成一个签名的 APK 时,它将数据安装到字典的内部存储器中,它工作正常。

但是,当我在 Google Play 上上传那些签名的应用并从那里下载时,就会出现这个问题:

EACCES(权限被拒绝)

  1. Google Play 是否会以某种方式修改应用程序?它可以在没有 Google Play 的情况下运行,但它不能。

  2. 对于如何在不使用 Google Play 之外的服务器的情况下从 Google Play 复制外部数据库并将其安装到应用程序的内部内存中,是否有任何建议?

【问题讨论】:

  • 这是两个非常不同的问题,我建议将它们分开。
  • 当您从 Play 商店下载一个时,您是否还使用调试密钥安装了另一个?
  • 两个应用程序都使用相同的密钥进行签名。两个应用程序具有相同的 sharedUserId,因此无法安装一个带有调试密钥的应用程序和一个带有用于 Play 商店的密钥的应用程序。当我直接安装两个签名的应用程序(复制到手机并安装)时,它可以工作,但是一旦我在 Play 商店上传相同的签名包并下载它,它就不再工作了。 EACCES(权限被拒绝)

标签: java android


【解决方案1】:

Google Play 商店不会放弃您的 apk,但这可以解释您的行为。我会下载您的 apk 的店内和店外副本,并将它们的签名与 jarsigner 进行比较

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

这是一个类似的 SO 问题:Exception 'open failed: EACCES (Permission denied)' on Android

【讨论】:

  • “我不相信 Google Play 商店会放弃你的 apk”。它没有。
  • 这是一个相对简单的解决方案。 但我需要的是那个。是的,它不存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 2012-10-22
  • 1970-01-01
相关资源
最近更新 更多