我更新了我的应用并在我的设备上进行了测试。如果我通过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商店安装当前的实时版本,还有一条错误消息说我无法安装此应用程序,因为另一个用户已在此设备上安装了不兼容的版本(但我没有安装它,我没有多个用户在设备上)。
如果我进入设置中的应用程序菜单,我的应用程序显示在列表的底部,但有一条说明说明没有为用户安装该应用程序。如果我点击它所有按钮都是不可点击的(所以我无法卸载它)。
怎么了?
在我的例子中,build.gradle中的proguardFiles路径导致了这个问题
要检查它是否有用
您的签名已更改,因此如您所述,您必须卸载以前的版本。您尝试从设备UI卸载并失败 - 因此请从命令行尝试:
adb uninstall your_package_name
在Nexus设备上看到,偶尔只有命令行卸载才能正常工作。
我找到了一个解决方案,但我仍然不知道是什么导致了这个问题。
在我的设备上的某个地方我的应用程序仍然安装,即使它没有显示在应用程序抽屉和游戏商店告诉我相同。在设置/应用程序菜单中,我的应用程序仍然存在(正如我在原始帖子的编辑中提到的)所以我点击它。如果单击菜单按钮,则可以为所有使用该技巧的用户选择unisntall。现在我可以再次安装我的apk。
我不知道这是怎么发生的,但是你去了,我希望这会有所帮助。
编辑:
我和这个家伙有同样的问题。那里接受的答案比我糟糕的文字好得多;)
我遇到了同样的问题我用这种方式解决了,对于当前的Updated Android Studio 2.3
Build
>生成Signed apk
。Keystore path
。Password, alias, key password
。Build type
相应地选择(例如在playstore中发布使用release
)。Signature Version
选择V1
和V2
复选框。Finsih
。explorer
转到apk并将其用于您的playstore
或在设备中签名和认证的apk文件。对我来说,解决方案是禁用设备上的Play Protect。
你不能直接在Android设备上运行signed apk。
我想运行你的apk然后按照以下步骤:
1) Go to your device settings
2) In setting you find applications
3) In application checked unknown sources
这将允许您运行已签名的apk而无需从Play商店下载。
或尝试此链接:
问题是因为您有一个测试应用程序的版本。所以,你并没有真正升级应用程序!这是两个不同的应用程序。您必须先卸载以前的版本(测试),以便安装应用程序的发布(签名)版本。
我得到了保存错误,只是有人面对这个。对我来说,这是因为我在手机上有同一个应用程序的多个项目。您需要从手机中删除旧版本的应用。
如果你有两个选项(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