无法安装我自己生成的apk

问题描述 投票:18回答:11

我更新了我的应用并在我的设备上进行了测试。如果我通过eclipse中的运行按钮测试应用程序,但是如果我将其导出到apk并尝试安装apk则失败,一切正常。

没有错误代码或其他任何内容,它只是说应用程序尚未安装。

知道为什么会这样吗?我只在我的应用程序中更改了一些内容:我从我的应用程序中删除了basegameutils lib并迁移到没有basegameutils的新api。多数民众赞成(除了一些错误修正,但不是原因)。

我已经重启了eclipse并多次清理所有项目。

目标sdk是22,我正在使用最新的系统映像等等api级别(我的divce是一个库存nexus 6,运行5.1.1)。我还将构建工具从22.0.1更新到23.0.1并删除了22版本。这是原因吗?

我也尝试在开发控制台上传apk,没有错误。

谢谢您的帮助。

编辑:

logcat输出表示签名与先前安装的版本不匹配。

如果我尝试通过Play商店安装当前的实时版本,还有一条错误消息说我无法安装此应用程序,因为另一个用户已在此设备上安装了不兼容的版本(但我没有安装它,我没有多个用户在设备上)。

如果我进入设置中的应用程序菜单,我的应用程序显示在列表的底部,但有一条说明说明没有为用户安装该应用程序。如果我点击它所有按钮都是不可点击的(所以我无法卸载它)。

怎么了?

android eclipse apk
11个回答
67
投票

对我来说,选择Signature Version v1和v2都解决了问题enter image description here


0
投票

在我的例子中,build.gradle中的proguardFiles路径导致了这个问题


0
投票

要检查它是否有用

  1. 转到设置 - >安全性 - >从未知来源启用安装。在某些设备中它来自应用类别,或更好的搜索设置 在某些设备中,(Lenovo K8就是其中之一)您可能必须专门允许应用程序安装第三方应用程序。允许Chrome,驱动器和文件管理器进行安装。您可能需要四处寻找才能找到它。

  1. 启用USB调试。设置 - >关于手机 - >点击7次 - >转到开发者选项 - >启用USB调试。 一些apk文件可能在调试构建变体下生成,所以。

  1. 而不是直接从email / drive / WhatsApp中共享的链接打开它, 复制链接。将其粘贴到浏览器中。 下载文件 从文件管理器打开它,您就可以安装了

  1. 如果上述方法都不起作用请检查您是否安装了任何防病毒/清洁应用程序并查找播放保护。


13
投票

您的签名已更改,因此如您所述,您必须卸载以前的版本。您尝试从设备UI卸载并失败 - 因此请从命令行尝试:

adb uninstall your_package_name

在Nexus设备上看到,偶尔只有命令行卸载才能正常工作。


9
投票

我找到了一个解决方案,但我仍然不知道是什么导致了这个问题。

在我的设备上的某个地方我的应用程序仍然安装,即使它没有显示在应用程序抽屉和游戏商店告诉我相同。在设置/应用程序菜单中,我的应用程序仍然存在(正如我在原始帖子的编辑中提到的)所以我点击它。如果单击菜单按钮,则可以为所有使用该技巧的用户选择unisntall。现在我可以再次安装我的apk。

我不知道这是怎么发生的,但是你去了,我希望这会有所帮助。

编辑:

我和这个家伙有同样的问题。那里接受的答案比我糟糕的文字好得多;)

"You cannot install this app because another user has already installed an incompatible version on this device"


9
投票

我遇到了同样的问题我用这种方式解决了,对于当前的Updated Android Studio 2.3

  1. Build>生成Signed apk
  2. 创建Keystore path
  3. Password, alias, key password
  4. Build type相应地选择(例如在playstore中发布使用release)。
  5. Signature Version选择V1V2复选框。
  6. Finsih
  7. explorer转到apk并将其用于您的playstore或在设备中签名和认证的apk文件。

4
投票

对我来说,解决方案是禁用设备上的Play Protect。


1
投票

你不能直接在Android设备上运行signed apk。

我想运行你的apk然后按照以下步骤:

1) Go to your device settings

2) In setting you find applications

3) In application checked unknown sources

这将允许您运行已签名的apk而无需从Play商店下载。

或尝试此链接:

"You cannot install this app because another user has already installed an incompatible version on this device"


1
投票

问题是因为您有一个测试应用程序的版本。所以,你并没有真正升级应用程序!这是两个不同的应用程序。您必须先卸载以前的版本(测试),以便安装应用程序的发布(签名)版本。


0
投票

我得到了保存错误,只是有人面对这个。对我来说,这是因为我在手机上有同一个应用程序的多个项目。您需要从手机中删除旧版本的应用。


0
投票

如果你有两个选项(V1(jar签名)和V2(Full APK签名))生成签名apk之前。你现在应该使用V1 jar签名,因为没有向后兼容性,所有版本<7的android手机都不接受这个签名。向后兼容性将在下一个N Developer Preview中添加。此链接中还有关于此developer.android的解释:https://developer.android.com/about/versions/nougat/android-7.0#apk_signature_v2

© www.soinside.com 2019 - 2024. All rights reserved.