Android未签名应用无法在设备上安装。

7

我的应用能在模拟器上运行,并将其导出为未签名的应用。

在手机的“设置”-->>“应用程序”--->>“未知来源”中选中。

我通过 USB 将 .apk 下载到手机存储器中。

然后,在文件管理器下,我找到存储的 .apk 文件并点击安装按钮进行安装,

但最终提示“应用程序未安装”,为什么?出了什么问题?

还尝试了 ./adb install -r myapp.apk,但它说出错:设备未找到。


没有任何一种解决方案适用于我的华为P8 Lite。在其他手机上可以无问题运行。你的手机也是华为吗? - kaay
5个回答

5
我从未使用您的方法在设备上测试过应用程序...当我不进行调试,只想在手机上安装它时,我会执行以下操作:
  1. 如果您已在模拟器上运行过它,则在项目的bin目录中有一个.apk文件。

  2. 通过usb或其他方法将该.apk移动到您的手机上(我使用dropbox)。

  3. 打开.apk并在您的手机上安装。

先前的答案是正确的,必须签名。但是通过我的方法,它将使用您的调试密钥进行签名。
显然,在将其发布到市场之前,您肯定希望使用真正的密钥对其进行签名。

3
所有应用程序都必须经过签名才能在模拟器或实机上安装,请参考官方开发者指南应用程序签名
  • 所有应用程序都必须经过签名。如果未签名,系统将无法在模拟器或设备上安装应用程序。
  • 为了测试和调试应用程序,构建工具使用由Android SDK构建工具创建的特殊调试密钥对应用程序进行签名。

1

你是如何将 APK 安装到设备上的?可以尝试使用 dab install <path to APK> 命令。此外,你也可以通过上传 APK 到任意 Web 服务器并访问其 URL 在 Android 浏览器中安装。

在安装之前,你必须先导出并使用调试证书进行签名。请参阅 发布应用程序


1

如果您正在使用 Eclipse,则不需要将应用程序导出为“未签名的apk”。只需在手机上启用“允许未知来源”,然后右键单击项目并点击“运行”。

未签名的apk是通过使用存储在Android SDK中的debug.keystore密钥对其进行签名生成的。可能会出现密钥损坏的情况。要验证,请检查是否有任何其他项目也出现了类似的问题。要解决密钥损坏问题,请删除您的SDK并重新安装(不应超过15分钟)。

如果其他项目正常工作,则表示您的debug.keystore密钥未损坏,您需要卸载手机上的任何先前版本的此应用程序并重新启动手机。

还可能出现adb server混乱的情况。在这种情况下,请重新启动您的Eclipse或从命令行执行adb kill-server

此外,似乎其他人也遇到了类似的问题。您是否搜索了类似的StackOverflow问题并尝试了解决方案?这里有一个:'Android上的“应用程序未安装”错误


0

未签名APK 可以安装在真实移动设备上进行测试。

只需按照图片中的步骤操作:

enter image description here

enter image description here

找到APK文件,通过Gmail等方式将其发送到您的手机。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接