我更新了我的应用并在我的设备上进行了测试。如果我通过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商店安装当前的实时版本,还有一条错误消息说我无法安装此应用程序,因为另一个用户已在此设备上安装了不兼容的版本(但我没有安装它,我不在设备上有多个用户。)
如果我进入设置中的应用程序菜单,我的应用程序会显示在列表的底部,但是有一条说明说明没有为用户安装该应用程序。如果我点击它,所有按钮都是不可点击的(所以我无法卸载它)。
发生了什么事?
答案 0 :(得分:65)
答案 1 :(得分:13)
您的签名已更改,因此如您所述,您必须卸载以前的版本。您尝试从设备UI卸载并失败 - 因此请从命令行尝试:
adb uninstall your_package_name
在Nexus设备上看到,偶尔只有命令行卸载才能正常工作。
答案 2 :(得分:9)
我遇到了同样的问题而且我用这种方式解决了它,对于当前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文件。答案 3 :(得分:8)
我找到了解决方案,但我仍然不知道导致问题的原因。
在我的设备上的某个地方我的应用程序仍然安装,即使它没有出现在应用程序抽屉中,而且游戏商店告诉我同样的情况。在设置/应用程序菜单中,我的应用程序仍然存在(正如我在原始帖子的编辑中提到的)所以我点击它。如果单击菜单按钮,则可以为所有使用该技巧的用户选择unisntall。现在我可以再次安装我的apk。
我不知道这是怎么发生的,但是你去了,我希望这有帮助。
编辑:
我和这个家伙有同样的问题。那里接受的答案比我糟糕的文字好得多;)
答案 4 :(得分:3)
对我来说,解决方案是在设备上禁用Play保护。
答案 5 :(得分:1)
您无法在Android设备中直接运行已签名的apk。
我想运行你的apk然后按照以下步骤操作:
1) Go to your device settings
2) In setting you find applications
3) In application checked unknown sources
这将允许您运行已签名的apk而无需从Play商店下载。
或 试试这个链接:
答案 6 :(得分:1)
问题是因为您有一个测试应用版本。所以,你并没有真正升级应用程序!这是两个不同的应用程序。您必须先卸载以前的版本(测试),以便安装应用程序的发布(签名)版本。
答案 7 :(得分:0)
我得到了保存错误,只是有人面对这个。对我来说,这是因为我在手机上有同一个应用程序的多个项目。您需要从手机中删除旧版本的应用程序。
答案 8 :(得分:0)
如果在生成签名apk之前有两个选项(V1(jar签名)和V2(Full APK签名))。您现在应该使用V1 jar签名,因为没有向后兼容性,所有版本低于7的android手机都不会接受此签名。向后兼容性将在下一个N Developer Preview中添加。 在此链接中也有关于此developer.android的说明: https://developer.android.com/about/versions/nougat/android-7.0#apk_signature_v2
答案 9 :(得分:0)
就我而言,是build.gradle中的proguardFiles路径导致了此问题
答案 10 :(得分:0)
要使其正常运行,需要检查的东西很少
转到设置-> 安全性->启用从未知来源安装。在某些设备中,它带有应用类别,或者更好的在“设置”中搜索
在某些设备上(Lenovo K8是其中之一),您可能必须专门允许应用安装第三方应用。允许安装 Chrome浏览器,驱动器,文件管理器。您可能需要四处寻找才能找到它。
启用USB调试。 设置-> 关于手机->点击7次->进入开发者选项->启用 Usb调试。
某些apk文件可能是在调试构建版本So。
答案 11 :(得分:0)
当前,PlayStore会定期检查应用程序和设备是否存在有害行为。手动安装签名的APK被视为异常行为,因此是preventend。 因此,暂时关闭游戏保护功能,您的安装将非常有魅力!