在SD卡上安装自签名apk时“未安装应用程序”

时间:2011-10-21 15:42:01

标签: android install apk

*编辑1 * 当然,刚发布后我试图卸载该应用程序,然后从APK重新安装。然后它奏效了。也许这是我通常从Eclipse安装它的事实,这是坏事吗? 测试

/修改

所以我遇到的问题是我的精美APK文件不会安装在我的设备上。

我找到了另一个遇到同样问题的人,并通过自我签名解决了这个问题: unsigned APK can not be installed

但是,我总是尝试使用已签名的APK。在Eclipse中,我选择“导出”,然后我必须首先选择并“登录”我的密钥库,然后选择一个密钥并再次提供我的密码,然后选择文件的位置,然后按“完成”。 / p>

这是向导中的最后一个“页面”:

enter image description here

将该APK文件复制到我的设备,然后从文件资源管理器“运行”后,安装屏幕显示upp并且看起来没问题。首先,我得到“替换应用程序” - 屏幕,询问我是否要替换现有版本。我按“确定”。然后它问我是否要允许应用程序... yada yada。我按“安装”。在简短的消息说“安装”后,我收到消息:

未安装应用程序

左边有一个绿色的“检查”。

没有其他错误消息。

我已选中“未知来源”框。我可以补充一点,当我从Eclipse启动相同的应用程序时没有问题!

任何提示和想法都将不胜感激。

6 个答案:

答案 0 :(得分:7)

如果两个.apks具有不同的签名(Eclipse使用调试证书),则无法在不删除前一个.apk的情况下使用新的.apk进行安装/更新。

您可以找到有关此here的更多信息。

答案 1 :(得分:3)

很抱歉回答我自己的问题,但问题似乎是我首先通过Eclipse安装了应用程序(从Eclipse启动/调试)。

当应用程序以这种方式安装,然后我尝试从APK重新安装时,它没有用。

但是,如果我首先完全卸载了应用程序,然后从APK文件重新安装,则安装成功。之后也可以重新安装(使用更新的APK)!

答案 2 :(得分:1)

我也遇到过这个问题。 请试试这个解决方案。确保项目的软件包名称与之前已安装在移动电话中的项目不同。我认为他们的名字会发生冲突。它解决了我的问题。

答案 3 :(得分:0)

尝试不通过Eclipse安装您的应用程序。如果您想在更新后避免出现这种情况,则会显示消息“未安装应用程序”。安装应用程序仅使用export作为apk选项安装。

答案 4 :(得分:0)

通过命令行创建密钥库文件

keytool -genkey -alias key_file_name.keystore -keyalg RSA -validity 1000000000000000 -keystore key_file_name.keystore

通过Eclipse导出apk,右键单击Android项目 Android工具>导出已签名的应用程序包,然后提供密钥库位置&密码。

这将crate签署apk同时apk将被zipaligned。并可安装。

如果您通过命令行,有时您可能会遇到“应用程序未安装”错误。 (应用程序未安装错误不仅可能发生在使用命令行时。也可能是其他一些原因)

答案 5 :(得分:0)

如果您在运行JDK 7的计算机上对APK进行签名,则可能会遇到此问题。降级到JDK 6可以解决问题。