每次调试前卸载安卓应用程序

14

我正在使用安装了Android SDK的Eclipse 3.7.2开发Android应用程序。我想知道在Eclipse中是否有一种设置,可以在启动调试器时自动卸载设备上先前存在的应用程序版本?

例如,如果我正在开发一个应用程序,每次对应用程序进行更改时,我希望从手机完全卸载旧应用程序并安装新的应用程序。


有趣的问题。我不确定这个方法是否有效,但似乎你可以使用构建链工具来为你完成这个任务。如果你修改你的构建链,在编译和安装之前运行adb命令'adb uninstall <packagename>',那么你就可以达到这个效果。可能有人会给出更完整的答案。此外,这个答案并没有解决多设备的问题,这可能会更加复杂。 - ian.shaun.thomas
不要使用Ant,请执行以下命令:"ant uninstall debug install"。 - Yenchi
1个回答

47
  1. 右键点击您的项目
  2. 属性
  3. 构建程序
  4. 新建
  5. 程序
  6. 在名称字段中,输入一个名称"uninstall"(不需要引号)
  7. 在位置中,使用“浏览文件系统”按钮并且指定您的adb(类似于C:\Users\petey\Android\android-sdk\platform-tools\adb.exe)
  8. 在参数中,“uninstall your.app.package.goes.here”(不需要引号)
  9. 点击确定
  10. 选择卸载
  11. 点击向上箭头,直到它置于顶部

现在,您应该能够调试和运行您的应用程序,并且每次都会自动卸载。

如果这太麻烦了,而你又使用的是Windows系统,可以保持“运行对话框”打开(同时按下Start键和r键),然后输入“adb uninstall your.app.package.goes.here”(不需要引号)。 运行对话框具有自动完成和历史记录功能,可以使生活更轻松。您也可以通过终端或命令提示符来执行此操作,但请确保platform-tools在您的路径中。


当我尝试这样做时,控制台会显示“失败”。我需要... - Rafael Soufraz
1
如何为多个 AVD 实现这一点?我收到了一个错误信息:“错误:存在多个设备和模拟器”。我在 5 个 AVD 中安装了一个应用程序。 - NEO
@Naren 很好的问题!您需要在 #8 参数前加上“-s <specific device>”,其中<specific device>是给定的AVD序列号或限定符。一旦完成这个步骤,您可以为每个<specific device>标识符创建/复制一个“卸载”的步骤。 - petey

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