gpt4 book ai didi

java - 在 Maven 构建期间安装 Android SDK

转载 作者:行者123 更新时间:2023-12-01 04:28:16 25 4
gpt4 key购买 nike

我正在尝试使用 Maven 和 Robolectric 对我的 Android 应用程序进行自动化测试。我遇到的问题是我不会在本地计算机上运行测试,并且 Android SDK 不会安装在运行测试的计算机上。我已经使用maven-dependency-plugin从我们的存储库中获取sdk并在进程资源阶段将其解压,问题是这种情况发生在需要访问文件之后。当我尝试使用 apk 打包时,它永远无法下载 SDK,因为它找不到 SDK。所以我的问题是:是否可以在构建中发生其他任何事情之前触发此下载?如果有人能说明如何在构建时正确安装 sdk,我们将不胜感激。如果我可以添加任何其他信息,请告诉我。

最佳答案

Robolectric 和 maven-android-plugin 都需要 SDK。 Android插件需要buildtools/adb,而Robolectric需要相应的android.jar。

因此,您必须为以下目标创建 Maven 任务/目标:

  1. 从某个网址下载 SDK zip。
  2. 在测试机器上的一个目录中解压 zip 文件。
  3. 更新 POM 的 android.sdk.path 属性,使其指向 sdk 目录。

我发现的一些 fragment 可能会有所帮助:

下载:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<id>download-android-sdk</id>
<phase>pre-integration-test</phase>
<goals>
<goal>download-single</goal>
</goals>
<configuration>
<url>http://dowloadsite.com/<url>
<fromFile>/downloads/sdk.zip</fromFile>
<toDir>${project.build.directory}/sdk</toDir>
</configuration>
</execution>
</executions>
</plugin>

拆包:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>unpack-sdk</id>
<phase>pre-integration-test</phase>
<configuration>
<tasks>
<unzip src="${project.build.directory}/sdk/sdk.zip" dest="${project.build.directory}/sdk/" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>

关于java - 在 Maven 构建期间安装 Android SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18258063/

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