Android Studio: 如何在运行或调试之前自动卸载 APK (或执行 adb 命令) ?

现在我需要卸载应用程序每次之前 Run\Debug它在 Android 工作室。因为在运行调试应用程序之前,我需要重新创建数据库。我知道我可以运行命令

adb uninstall [package_name]

在终端机上清除 /data/data/[package_name]下的文件。但是如果我每次都要执行这个命令,那就不方便了。我希望

adb uninstall

命令可以在我单击 Run\Debug按钮时自动执行。

358202 次浏览
adb uninstall <package_name>

可以用来通过你的电脑卸载应用程序。如果你希望每次通过 Android Studio 启动应用程序时都能自动实现这一点,你可以这样做:

  1. 在 Android Studio 中,单击 Run 按钮左侧的下拉列表,然后选择 Edit configuration..。
  2. 点击 Android 应用程序下的应用程序,在常规选项卡中,找到标题‘ Before Launch’
  3. 单击“ +”按钮,选择“运行外部工具”,单击弹出窗口中的“ +”按钮。
  4. 给出一些名称(如 adb uninstall)和描述,并在 Program: 中键入 adb,在 Parameter: 中键入 uninstall <your-package-name>。 在弹出窗口中单击“确定”时,确保选中了新项。

注意: 如果您的 PATH 环境变量中没有 adb,请在 Program: field (如/home/user/android/sdk/Platform-tools/adb)中给出 adb 的完整路径。

例子

adb uninstall com.my.firstapp

我正在使用 Android Studio 2.1.2。我有同样的要求作业。虽然以上两个答案似乎对每个人都有帮助,但对我来说并不管用。我在分享对我有用的东西。

转到 main menu/Run/Edit Configuration。在左侧的 Android Application下面选择 app。这将打开多选项卡窗格。选择 General选项卡(默认) ,单击底部的绿色 + sing (文本 Before launch: Gradle -awake ...下面)。

将出现一个下拉列表,选择 Gradle-aware-make选项。将弹出另一个文本框。在此文本框中输入 :app:uninstallAll。(您可以使用 ctrl + space来使用自动完成来确定正确的目标,而无需输入所有内容。还可以帮助您选择适合您的应用程序名称)。 并设置 apply/ok。重新启动您的应用程序。

注意: 每次你现在启动你的应用程序,这个新的目标将尝试从你的模拟器或设备卸载你的应用程序。因此,如果您的测试设备不可用,那么在卸载时您的 launc 可能会失败,但会继续启动您的模拟器。因此,要么首先启动模拟器,要么在第一次失败后重新启动(因为第一次启动将启动模拟器,但卸载失败)。

如果您想在连接到单个设备/模拟器时卸载,请使用以下命令

adb uninstall <package name>

使用多个设备,然后使用以下命令

adb -s <device ID> uninstall <package name>

按以下方式列出软件包:

adb shell su 0 pm list packages

检查要卸载的软件包并从中复制软件包名称。例如:

com.android.calculator2

最后输入:

adb uninstall com.android.calculator2

你就完了。

一个简单的三步过程 (在 Mac 终端上检查)

  1. 连接您的机器人设备(请连接一个机器人设备在一个时间) ,最好通过电缆和确认连接(这将列出设备的 ID 设备 ID)

    adb devices
    
  2. Then to list all app packages on the connected device by running, on terminal

    adb shell pm list packages -f -3
    
  3. Then uninstall as explained earlier

    adb uninstall <package_name>
    

我使用了一个名为“ adb idea”的 Android Studio 插件——它有一个下拉菜单,可用于各种功能(卸载、杀死、启动等) ,您可以针对任何已连接或模拟的设备。有人可能会说,这让我离深入理解 adb 命令的力量又远了一步,我可能会同意... ... 尽管我的理解水平确实很低,所以对我来说,有一个助手是有帮助的。亚洲开发银行的创意 enter image description here

使用—— user 0执行以下命令:

adb uninstall --user 0 <package_name>

使用此 cmd 显示设备中的包(针对 Windows 用户)

adb shell pm list packages

然后您可以完全删除包与下面的 cmd

adb uninstall com.example.myapp

启动前运行脚本

Edit Configurations... -> Select App -> Before Launch + -> Run External tool + -> Name, Program adb, Arguments uninstall <package_name>

要添加到上面,如果你可以列出和 grep 通过:

$ adb shell pm list packages | grep -i <some_idea>

它会给你的应用程序的名称,如果你有一些想法的包的名称可能是什么。

比如说,

$ adb shell pm list packages | grep -i cal

包: com.android.Providers.endar

软件包: com.google.android.endar

然后你可以继续:

$ adb uninstall <package_name>

以上答案是正确的,但是请确保包名称是区分大小写的,因为它是运行命令的 shell。

adb shell pm uninstall com.company.PacKaGeIsCaseSenseTiVe

或者直接

adb uninstall com.company.PacKaGeIsCaseSenseTiVe