gpt4 book ai didi

使用 Robotium 的 Android Maven 仪器测试返回 IllegalAccessError

转载 作者:搜寻专家 更新时间:2023-11-01 08:04:36 25 4
gpt4 key购买 nike

我有我的 android 应用程序集成测试。当我尝试从 Maven 运行它们时,出现以下错误。我读了here我应该使用<scope>provieded</scope> ,但随后出现编译错误,如“找不到包”...

附加集成测试 pom.xml。

[INFO] --- android-maven-plugin:3.5.3:internal-integration-test (default-internal-integration-test) @ md-lt-tests ---
[INFO] Found 1 devices connected with the Android Debug Bridge
[INFO] android.device parameter not set, using all attached devices
[INFO] Emulator emulator-5554_Test_unknown_sdk found.
[INFO] emulator-5554_Test_unknown_sdk : Running instrumentation tests in lt.ito.md.tests
[INFO] emulator-5554_Test_unknown_sdk : Run started: lt.md.md.tests, 0 tests:
[INFO] emulator-5554_Test_unknown_sdk : Run failed: Instrumentation run failed due to 'java.lang.IllegalAccessError'
[INFO] emulator-5554_Test_unknown_sdk : Run ended: 0 ms
[INFO] Tests run: 0, Failures: 0, Errors: 0
[INFO] emulator-5554_Test_unknown_sdk : Report file written to /home/martynas/work/md-android/md/lt/lt-tests/target/surefire-reports/TEST-emulator-5554_Test_unknown_sdk.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:20.297s
[INFO] Finished at: Sun Apr 21 18:31:30 EEST 2013
[INFO] Final Memory: 22M/307M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.3:internal-integration-test (default-internal-integration-test) on project md-lt-tests: emulator-5554_Test_unknown_sdk : Test run failed to complete: Instrumentation run failed due to 'java.lang.IllegalAccessError'

集成测试项目pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>company</groupId>
<artifactId>md-lt</artifactId>
<version>1.5.4</version>
<relativePath>../pom.xml</relativePath>
</parent>

<artifactId>md-lt-tests</artifactId>
<packaging>apk</packaging>

<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>md-lt-app</artifactId>
<version>${project.version}</version>
<type>apk</type>
</dependency>
<dependency>
<groupId>com.jayway.android.robotium</groupId>
<artifactId>robotium-solo</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>compile</scope>
</dependency>

<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<sourceDirectory>src</sourceDirectory>
<finalName>${project.artifactId}</finalName>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.5.3</version>
<extensions>true</extensions>
<configuration>
<sdk>
<platform>${android.platform.version}</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>

最佳答案

找到解决方案 here

测试项目应该同时具有 apkjar依赖项,两者都应该有 <scope>provided</scope>

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>md-lt-app</artifactId>
<version>${project.version}</version>
<scope>provied</scope>
<type>apk</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>md-lt-app</artifactId>
<version>${project.version}</version>
<scope>provied</scope>
<type>jar</type>
</dependency>

关于使用 Robotium 的 Android Maven 仪器测试返回 IllegalAccessError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16132941/

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