在有根手机上安装失败

Posted

技术标签:

【中文标题】在有根手机上安装失败【英文标题】:Install fails on rooted phones 【发布时间】:2010-10-11 20:53:01 【问题描述】:

谁能告诉我从市场下载应用程序与从我的网络服务器下载应用程序时,应用程序如何交付和安装到 android G1 手机的区别?

这个小测试应用:

http://yootles.com/outbox/TallyBee.apk(保持简单计数)

安装在我的(未经破解的)G1 上,但在两个朋友的(被黑的)G1 上从我这里下载时无法安装——它认为该软件包与 Android 系统冲突/想要覆盖 Android 系统——但当他们安装时正常从 Market 下载它(相同的 .apk)。

使用 adb 将 .apk 推送到手机没有问题。 是的,他们都已将手机设置为在应用程序设置中允许“未知来源”。 我想从我的服务器上进行安装以加快测试速度。

【问题讨论】:

如果人们对从互联网上随机尝试的应用程序持谨慎态度,我可以保证它是无害的。 (我是拥有被黑 android 的两个朋友之一,并且渴望亲自揭开这个谜团的真相。) 你试过android google群吗? 【参考方案1】:

您遇到了一个奇怪的 android 签名错误。如果您尝试重新安装手机上已存在的应用程序,则必须使用相同的密钥对其进行签名。如果您安装使用不同密钥签名的相同应用程序,它将首先删除该应用程序,然后重新安装失败,从而给您一个无用的错误。有关在此处签名的更多信息 (http://developer.android.com/guide/publishing/app-signing.html),但如果安装了它,那么您可能已经了解了签名系统。

解决方案是从市场(或他们最初获得它的任何地方)重新安装应用程序,然后通过应用程序管理器将其删除。删除后,他们应该能够从您的网络服务器下载新版本。 (另外,请确保上面帖子中提到的设置被打勾)

【讨论】:

第一次尝试安装应用程序实际上是通过我的服务器,而不是市场,并因此错误而失败。如果我在尝试安装 .apk 时观看 logcat,它实际上会尝试删除 android 包以“重新安装”它。 您是否使用了多个密钥来签名? 我不想问,但是你的手机被黑的朋友的手机里有 microSD 卡吗?【参考方案2】:

如果不在我自己的 G1 上安装这个 apk(我不想这样做),你应该确认你的朋友有 Settings > Applications > Unknown sources 打勾。否则,他们将无法安装非来自市场的应用程序。

【讨论】:

您是因为无法确认它不是恶意软件而不热衷,还是因为安装随机(在这种情况下是字面意思)应用程序存在任何其他风险?

以上是关于在有根手机上安装失败的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何在有根设备上获取帧缓冲区(屏幕截图)?

android手机的APK软件用电脑下载的,怎样安装到手机上?

在电脑上下载安卓驱动,怎样安装到手机里?

使用busybox在后台安装apk

如何在手机上编程并运行

权限仅授予系统应用程序