gpt4 book ai didi

android-gradle-plugin - 如何使用 ./gradlew 在特定模拟器上运行特定任务?

转载 作者:行者123 更新时间:2023-12-05 07:48:27 25 4
gpt4 key购买 nike

在一台计算机上,我有多个模拟器/设备,我可以从 adb 设备中分辨出来。192.168.56.102:5555192.168.56.103:5555

我想通过gradle命令同时在不同的设备上运行不同的测试,比如,

./gradlew -Pandroid.testInstrumentationRunnerArguments.class=ccom.example.android.testapp1 connectedAutomationDebugAndroidTest --info

./gradlew -Pandroid.testInstrumentationRunnerArguments.class=ccom.example.android.testapp2 connectedAutomationDebugAndroidTest --info

有什么方法可以添加一些参数(如“adb -s”)来指定我希望它运行的设备?

目前,我唯一的替代方法是使用 gradle run installApp 任务,然后使用 2 个“adb -s”命令分别运行 2 个不同的测试集并连接“&” .

提前致谢!

最佳答案

OP 提出了多个问题,但上下文相同,因此下面有多个部分。

指定任务

要指定任务,首先找到任务名称:

chmod +x ./gradlew
./gradlew tasks

然后简单地传递它,比如:

./gradlew myCustomTask

或者,将任务限制在特定项目中:

./gradlew :my-sub-project:myCustomTask

指定 AVD (Android 虚拟设备)

支持将 AVD 名称传递给 Gradle,除了启动模拟器被支持。

因此,指定 AVD 的唯一方法是确保只有您需要的那个 AVD 已经在 Emulator 中运行(在您启动 Gradle 之前)。

换句话说,将使用模拟器中已经运行的任何 AVD:

  • 例如,如果你想“重新运行测试,但在另一个具有不同 Android 版本的 AVD 上”,
  • 您需要先等到前面的测试完成,
  • 然后关闭 Emulator,并使用另一个 AVD 重新启动 Emulator。

至少,可以通过 CLI 将 AVD 传递给模拟器,例如:

%ANDROID_HOME%\emulator\emulator.exe -netdelay none -netspeed full -no-snapshot -no-snapshot-load -avd MyNameForAVD

或者在 MacOS 中:

${ANDROID_HOME}/emulator/emulator -netdelay none -netspeed full -no-snapshot -no-snapshot-load -avd MyNameForAVD

关于android-gradle-plugin - 如何使用 ./gradlew 在特定模拟器上运行特定任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com