如何在不使用 Eclipse 的情况下在 Android 上安装/替换
Posted
技术标签:
【中文标题】如何在不使用 Eclipse 的情况下在 Android 上安装/替换【英文标题】:How to install/replace on Android without using Eclipse 【发布时间】: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。之后,您应该能够像以前一样重新安装。 【参考方案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】:在设置->应用程序->管理应用程序下从手机中删除旧版本 然后你可以通过命令行安装或者上传到网站直接下载到手机上
【讨论】:
我的问题是它从我的手机中消失了。我无法卸载它,也无法安装新版本。以上是关于如何在不使用 Eclipse 的情况下在 Android 上安装/替换的主要内容,如果未能解决你的问题,请参考以下文章
如何在不启动模拟器的情况下在 Eclipse 中将 Android 项目编译为 .apk 文件?
是否可以在不做任何更改的情况下在 Android 手机中运行 JavaFX 桌面应用程序? [复制]
如何在不使用 AudioQueueRef 的情况下在 AudioQueue 中设置音量?