目前,我正在扩展由其他人开发的应用程序。
从客户端我获得了用于将应用程序发布到Play商店的原始密钥库文件,包括所需的密码。我之前给出了使用为此目的生成的虚拟密钥签名的测试版本。
我正在使用Eclipse Indigo和ADT进行所有打包和签名。
奇怪的是,即使在使用官方键创建已签名的应用程序包之后,使用 dummy 键的旧测试版本也会在安装时被覆盖。如果我尝试从Play商店安装应用程序,我会在手机上获得第二个应用程序,就像使用其他密钥签名一样。
我试过
keytool -printcert -file META-INF/CERT.RSA | egrep "^\s+MD5|^\s+SHA"
关于我自己生成的apk文件的内容以及来自Play商店的apk文件的内容。我在自己的文件上使用官方密钥和Play商店中的文件获得了相同的哈希值。使用虚拟键签名的文件会产生不同的哈希值,正如我所期望的那样。
然而,我的手机(以及我客户端的手机)将我的两个apk文件视为一个应用程序,将Play商店的版本视为另一个应用程序。
除了包名称和用于签名的密钥之外,还有其他任何标识应用程序的内容吗?说实话,我现在很困惑。提前感谢任何暗示!
答案 0 :(得分:0)
我发现了问题的根源。实际上,尽管显示器前面有一个问题,但根本没有任何问题......在为我复制了源代码之后,Play Store中的软件包名称已被更改。因此,我自己的文件和Play商店之间的软件包名称差别很小。至少我已经学到了很多关于确定apk文件指纹的知识......