gpt4 book ai didi

android - 使用 Android 共享用户 ID 和签名

转载 作者:太空狗 更新时间:2023-10-29 15:39:53 26 4
gpt4 key购买 nike

我正在尝试让 2 个 Android 应用程序可以访问彼此的数据。我有两个正在试验的测试应用程序。我将每个文件的“共享用户 ID”设置为 “com.gabysoft.sharedfiles”。但是,当我签署第一个应用程序并尝试安装它时,出现错误:

11-05 16:50:33.422: ERROR/PackageManager(61): Package com.gabysoft.sharedfiles1 has no 
signatures that match those in shared user com.gabysoft.sharedfiles; ignoring!

很明显,我没有正确签名(我正在使用 Eclipse 的“导出已签名的应用程序包”功能)。如何正确签署 .apk 文件,以免出现此问题?

谢谢

最佳答案

如果您设置一个 sharedUserId,并从 Eclipse(默认情况下,在开发过程中使用调试 key 对其进行签名)将应用程序安装到您的设备上,您将在该签名 key 和 sharedUserId 之间创建一个永久绑定(bind)。 /data/system/packages.xml,以及 Dalvik 缓存,保存与应用相关联的共享用户 ID 的信息。然而,我还没有找到一种方法来始终如一地清除我 GN 上的旧调试版本残留,即使在关注了 XDA 上的相关线程之后也是如此。 .

因此,如果您确实需要使用 sharedUserId,您可以将任何固定字符串附加到 sharedUserId,仅在开发和使用调试 key 时在 AnroidManifest.xml 中更改它。但是,您应该检查一下您是否从未将其 checkin 代码存储库或发布它,因为一旦您设置了 sharedUserId 并发布了应用程序,它就完成了。您绝不能更改它,否则您的应用将失去对其自身文件的访问权限,从而变得无法使用。

注意,sharedUserId 很棘手。看这个blog post对于可能的相关问题。

编辑:我只是注意到这个问题有多老了,但我仍然认为有人可能会发现答案很有值(value),因为我自己在谷歌搜索时已经遇到了这个问题。

关于android - 使用 Android 共享用户 ID 和签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4109194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com