gpt4 book ai didi

android - Selendroid 与 Maven : No such archiver: 'apk'

转载 作者:行者123 更新时间:2023-11-30 03:04:47 27 4
gpt4 key购买 nike

我正在尝试准备使用 selendroid-standalone 处理与手机的连接的测试用例。该项目使用 Maven 并包含几个子模块,因此我在顶部 pom.xml 中添加了这样的依赖项: <br/>
<dependency>
<groupId>io.selendroid</groupId>
<artifactId>selendroid-standalone</artifactId>
<scope>compile</scope>
<type>jar</type>
<version>0.5.1</version>
</dependency>

之后,当我尝试编译它时,出现这样的错误:
Error adding archived file-set. PlexusIoResourceCollection not found for:
d:\XXX\selendroid-server-0.5.1.apk:
No such archiver: 'apk'.

我试图将依赖项移动到子模块,但随后在我使用 SelendroidConfiguraion 的行出现了 NoClassDefFoundError或包中的其他类。

编辑:添加任何其他依赖项都不会出现 NoClassDefFoundError。

最佳答案

您需要指定您自己的程序集来阻止 Maven 尝试解包然后重新打包 apk 文件的内容。网上有很多关于执行此操作的教程(通常用于 swfs 或 zips),但我只是通过指定如下内容来完成此操作:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>jar-with-dependencies</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
<scope>runtime</scope>
<excludes>
<exclude>*:apk:*</exclude>
</excludes>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
</fileSets>
</assembly>

将它保存在它自己的 XML 文件中,然后将你的 POM 指向它而不是默认的程序集描述符:

<!-- disabled predefined assembly 
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
-->
<descriptors>
<descriptor>src/main/assembly/assembly-descriptor.xml</descriptor>
</descriptors>

关于android - Selendroid 与 Maven : No such archiver: 'apk' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984047/

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