为什么adb install <same-packagename-always-release>失败?

an0*_*00b 68 android adb apk

我知道adb install如果它是一个不同的构建类型(即调试与发布),它将不会替换现有的包.

每当我运行调试会话时,Eclipse也会成功替换调试apks.

但是,当我尝试用另一个版本apk(相同的包名!)adb install替换现有版本 apk时,我收到一条失败消息:

adb install myapp-release.apk 
    pkg: /data/local/tmp/myapp-release.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]
745 KB/s (34310 bytes in 0.044s)
Run Code Online (Sandbox Code Playgroud)

这不应该工作吗?我错过了什么?

ale*_*dev 167

我想如果已经安装了应用程序,则需要提供-r密钥:

adb install -r myapp-release.apk
Run Code Online (Sandbox Code Playgroud)

adb帮助:

'-r' means reinstall the app, keeping its data
Run Code Online (Sandbox Code Playgroud)

  • 请注意,即使程序包不存在,也可以使用-r标志,因此除非您不想覆盖现有的apk,否则也可以使用它. (18认同)