APK不会安装在设备上

时间:2015-02-25 14:38:39

标签: android eclipse apk duplication

我最近在Eclipse中复制并粘贴了一个旧的Android应用程序项目。此后,我对项目进行了一些更改,包括重构>重命名项目,项目名称和包名称。到目前为止,在模拟器中运行这个修改过的重复项目时,一切似乎都没有问题。

但是当我试图在我的设备上运行它(来自Eclipse)时,它不起作用,因为原始的旧Android应用程序项目安装在设备上。

由于应用程序签名不同,Eclipse提示“重新安装”失败。您必须执行应用程序的完全卸载。警告:这将删除应用程序数据!要卸载吗?'

我没有。

但是我导出了重复修改项目的未签名apk,并尝试将其安装在设备上并再次失败。我卸载旧的应用程序并尝试重新安装重复的修改项目,它再次失败。

我不确定为什么项目名称和包名称与原始名称不同。此外,我注意到重复的修改项目接近40Mb,而原始只有8MB。如果它是原件的副本(加上一些小的改动,实际上实际上是减少的),它是如何变得如此之大?我检查了在重复修改项目的文件夹中,我看到它的dexlibs文件夹中包含原始项目的原始APK(包含原始项目名称和包名称)。我在网上做了一些研究,他们说要忽略它。

在重复修改项目的APK中,当然,它正如预期的那样小于原始版本APK。但是为什么它没有安装,在安装时,它仍然使用原始项目包名称的名称而不是新的重复修改名称?

请帮忙。

3 个答案:

答案 0 :(得分:1)

您必须从设备中删除该应用并再次运行。

答案 1 :(得分:0)

您似乎正在尝试在同一设备上安装具有不同签名的重复应用。你需要让应用程序变得与众不同,"也就是说,更改包名称(在Eclipse中,在Android Tools / Rename Application Package下);或者您需要找到之前用过的相同密钥来签署应用程序 - 这可能是一个调试密钥,而且它现在很可能已过期。

如果更改软件包名称,则新版本的应用程序将无法访问旧版本应用程序中的数据。如果您找到旧密钥,并且它已过期,则可能能够通过在PC和设备上设置日期来诱使Android接受它。

答案 2 :(得分:0)

您需要的只是在命令shell中的命令下运行 确保在系统路径中设置了adb路径

adb uninstall your_package_name
adb install path_to_apk