【问题标题】:How to install/replace on Android without using Eclipse如何在不使用 Eclipse 的情况下在 Android 上安装/替换
【发布时间】:2011-02-01 06:38:05
【问题描述】:

朋友给我发了一个更高版本的 .apk 文件。我的设备上已经安装了早期版本。

当我尝试 adb install 文件时,我得到了这个:

$ adb install ../FlashLite.apk 
320 KB/s (18311 bytes in 0.055s)
    pkg: /data/local/tmp/FlashLite.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]

$ adb uninstall FlashLite.apk
Failure

$ adb uninstall /data/local/tmp/FlashLite.apk
Failure

如何从 cmd 行安装/替换?我没有源代码,所以我不能从 Eclipse 中完成。

【问题讨论】:

  • 如果你有真正的问题,然后 adb shell 进入你的手机并手动删除 apk。之后,您应该能够像以前一样重新安装。

标签: android command-line installation apk


【解决方案1】:

卸载时必须指定活动的 java 路径。

adb uninstall com.haseman.myapp

我的主要活动在 src/com/haseman/myapp/LaunchActivity.java

此外,您可以使用替换安装

adb install -r myApplication.apk

但是,如果没有使用相同的密钥对手机上的 apk 和您要安装的 apk 进行签名,则替换构建通常会失败。如果您看到错误“INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES”,则需要先卸载该应用,然后再安装。

【讨论】:

  • 是的..这在问题的上下文中更有意义
【解决方案2】:

您必须使用adb uninstall [packagename],例如adb uninstall org.vimtips.supacount

这是清单中列出的软件包名称:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.vimtips.supacount"
    android:versionCode="6" android:versionName="0.1.5">

【讨论】:

  • 这是一个比标记为正确的答案更有用的答案,因为在我的手机上,该应用程序根本没有出现在要删除的菜单中......所以我真的被卡住了。谢谢 Synic。
  • 更不用说比点击所有这些菜单更容易了!
  • 检查以确保您匹配包名称的大小写。通常它都较低,但如果大小写不匹配,它可能无法使用命令行卸载。
【解决方案3】:

您需要提供 -r 键:

adb install -r myapp-release.apk

这已经讨论过了: Why does adb install <same-packagename-always-release> fail?

【讨论】:

  • 假设应用程序是用相同的密钥签名的,我会把这个答案投票为接受
  • 提示:也 -d 用于通过模拟器安装设备
【解决方案4】:

在设置->应用程序->管理应用程序下从手机中删除旧版本,然后安装应该可以工作了。

【讨论】:

    【解决方案5】:

    在设置->应用程序->管理应用程序下从手机中删除旧版本 然后你可以通过命令行安装或者上传到网站直接下载到手机上

    【讨论】:

    • 我的问题是它从我的手机中消失了。我无法卸载它,也无法安装新版本。
    猜你喜欢
    • 1970-01-01
    • 2011-01-06
    • 2020-08-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多