java.lang.IllegalArgumentException:已添加:Lorg/hamcrest/BaseDescription;转换为 Dalvik 格式失败,错误 1

2023-11-24

首先,至少有 2 个帖子有同样的问题,但这些解决方案不再起作用,至少在我的安装中不起作用。

我将 m2e 与 Eclipse 和 Android 结合使用,并尝试通过选择 run as->Android application 将应用程序作为“Android 应用程序”运行,但我总是收到此错误:

意外的顶级异常:java.lang.IllegalArgumentException: 已添加:Lorg/hamcrest/BaseDescription;
. . .

[2012-09-08 19:50:41 - net.mydomain.project-TRUNK] 转换为 Dalvik 格式失败,错误 1

就是所描述的问题在工具 R14 部分。首先,这个问题无法修复,因为我在 ADT 20.0.3 中遇到了这个问题。其次,我没有这些所谓的“_src”文件夹。我以前从未在 Maven 项目中见过它们,所以我不知道现在应该做什么。我什至没有任何库链接两次。至少我在我的项目中没有看到一些。有什么想法如何让它发挥作用吗?

这是我的 pom.xml 如果这有帮助的话:

<?xml version="1.0" encoding="UTF-8"?>
  <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>
    <groupId>net.devgems.android</groupId>
    <artifactId>kurzparkzonewien</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>apk</packaging>
    <name>kurzparkzonewien</name>

    <properties>
        <platform.version>1.6_r2</platform.version>
        <android.sdk.path>/opt/android-sdk-linux</android.sdk.path>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>${platform.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1.1</version>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.0.1</version>
        </dependency>
        <!-- Make sure this is below the android dependencies -->
        <dependency>
            <groupId>com.pivotallabs</groupId>
            <artifactId>robolectric</artifactId>
            <version>1.0-RC1</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <outputDirectory>target/classes</outputDirectory>
        <testOutputDirectory>target/test-classes</testOutputDirectory>

        <plugins>
            <plugin>
                 <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>android-maven-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                    <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                    <resourceDirectory>${project.basedir}/res</resourceDirectory>
                    <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
                    <sdk>
                        <platform>4</platform>
                        <path>${android.sdk.path}</path>
                    </sdk>
                    <undeployBeforeDeploy>true</undeployBeforeDeploy>
                </configuration>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
   </project>

我正在使用 Eclipse Juno、ADT 20.0.3、m2e 1.1.0。


我尝试了上述解决方案,但仍然出现错误。只有经过更多尝试和错误后,我才发现 hamcrest 类也包含在另一个 jar 中:mockito(我还不知道mockito不能与我的仪器测试一起使用)

因此,我通过从依赖项中删除mockito-all.jar 并从 junit 的传递依赖项中排除 hamcrest 来解决我的问题,如下所示:

 <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
    <version>4.10</version>
    <exclusions>
        <exclusion>
            <artifactId>hamcrest-core</artifactId>
            <groupId>org.hamcrest</groupId>
        </exclusion>
    </exclusions>
  </dependency>

公共日志记录(截至撰写本文时)可能也需要此排除,因为否则 apk 构建器将抗议旧类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.IllegalArgumentException:已添加:Lorg/hamcrest/BaseDescription;转换为 Dalvik 格式失败,错误 1 的相关文章

随机推荐

  • Python如何获取QLineEdit文本?

    你好世界我正在尝试让 QLineEdit 作为用户输入来工作 他们应该输入歌曲名称 输入歌曲名称后 我希望单击播放按钮后开始播放该歌曲 除了他们可以在该文件夹中输入所需歌曲的部分之外 一切正常 问题是我不确定如何制作 QlineEdit 单
  • 使用指针算术计算类型大小的替代方法

    下面的代码是100 可移植的吗 int a 10 size t size of int char a 1 char a No problem here std cout lt
  • 两个表的索引名称相同

    我正在为我们的团队构建一个小型 Mysql 数据库 对于我的数据库中的两个表 我使用了相同的索引名称 性能会受到影响吗 我做了一些测试查询 800 000 多行 到目前为止 一切顺利 索引名称特定于每个表 一张表中不能有两个同名索引 但可以
  • 如何在 Scala 中定义列表的列表?

    我想为以下类型创建一个存储 List List 2 3 1 1 List 2 2 1 但如果我执行以下操作 var y List List 1 0 2 2 List 2 1 1 2 1 然后它创建为 List AnyVal 并在我尝试执行数
  • Boost Python 中的跨模块依赖

    假设我有两个 boost python 模块 定义如下 模块A class SomeClass public SomeClass SomeClass BOOST PYTHON MODULE A class
  • 如何模拟按下按钮?

    我想测试一些表格 有没有办法模拟按下 确定 或 取消 按钮 以便按下该按钮并触发与其关联的事件处理程序 最简洁的方法是调用按钮的 Click 方法 由于以下原因 这比替代方案更好 您可以读取 OnClick 属性 检查它是否为 nil 然后
  • 编写 Maven 插件/Mojo:如何让一个目标强制执行其他目标?

    注意 此线程是关于编写自定义 Mojo 而不是使用插件 我维持一个测试插件对于马文来说 不幸的是 近一年来 我一直让这种特殊的未知挥之不去 我真的很想知道如何处理它 以便其用户可以拥有更简单的配置 假设我们的插件有两个目标 prepare
  • 应用程序作用域 bean 中的实用方法

    您认为将所有广泛使用的实用程序方法放在应用程序范围的 bean 中是一个好主意吗 在我正在开发的应用程序的当前实现中 所有实用方法 使用字符串 cookie 进行操作 检查 url 检查用户所在的当前页面等 都放在一个大请求作用域 bean
  • NHibernate 如何实现变更跟踪?

    nhibernate 代理是否做了任何聪明的工作来提高更改跟踪的效率 或者它只支持实体框架所谓的基于快照的更改跟踪 它是基于快照的 加载实体时 其状态作为 object 存储在会话中 刷新时 当前状态会转换为 object 并与原始状态进行
  • 在站点根文件夹内的文件夹中定义 HTML 根

    我想要一个包含一组新 html 文件的新文件夹 里面的所有图片都是这样的格式src image png and image png位于根文件夹中 但是当您将 HTML 文件放入新文件夹时 它找不到该图像 您必须采用以下格式src root
  • 从控制器传递图像并使用 ASP.NET MVC 3 中的 ViewBag 在视图中显示

    我想这是非常简单的事情 但我不知道如何去做 在我的控制器中我有 public ViewResult ShowForm ViewBag Title Resources ApplicationTitle ViewBag LabelStatus
  • 在 eventArgs 中发送两个字符串的语法

    在下面的代码中 我需要知道引发事件时传递两个字符串的语法 PublishEvent Click public event EventHandler
  • 如何使用 python numpy.savetxt 将字符串和浮点数写入 ASCII 文件?

    我有一组包含字符串和浮点数的列表 例如 import numpy as num NAMES num array NAME 1 NAME 2 NAME 3 FLOATS num array 0 5 0 2 0 3 DAT num column
  • matplotlib:ValueError:无效的 PNG 标头

    import matplotlib pyplot as plt 我试图在同一文件夹中的许多其他 png 照片中读取一张 png 照片 有些照片使用以下行读取时没有错误 有些则返回 ValueError 无效的 PNG 标头 可能是什么原因
  • 如何使用SQL Order By语句对结果进行不区分大小写的排序?

    我有一个 SQLite 数据库 我试图按字母顺序排序 问题是 SQLite 在排序过程中似乎没有考虑 A a 因此我得到这样的结果 A 乙 C 时间 A 乙 C G 我想得到 A A 乙 乙 C C G 时间 有哪些我不知道的特殊 SQL
  • 如何防止

    在超过页面宽度时被剪裁?

    我正在使用 jQuery Mobile 但我的一个页面出现了问题 我有一个 p 嵌入到列表中 如下所示 p div div h1 Page 1 h1 div div ul li List Heading li li p A very lon
  • 在 Firestore 规则中声明函数

    这是我现在面临的 Firestore 安全规则问题 首先 这是我的 firestore 数据库中的数据结构示例 userProfiles userId userData companies companyId companyData 看起来
  • 如何从 Python 包内部读取(静态)文件?

    你能告诉我如何读取 Python 包中的文件吗 我的情况 我加载的包有许多我想从程序中加载的模板 用作字符串的文本文件 但如何指定此类文件的路径呢 想象一下我想从以下位置读取文件 package templates temp file 某种
  • 以编程方式升级应用程序权限 OS X

    我做了一些挖掘 我看到的主要想法是使用 setuid getuid 和使用授权服务 由于某种原因 它在编译时给我一个符号错误 但现在似乎已被弃用 我的应用程序需要能够在某个时刻请求根访问 用于访问原始磁盘驱动器 最好使用 OS X 身份验证
  • java.lang.IllegalArgumentException:已添加:Lorg/hamcrest/BaseDescription;转换为 Dalvik 格式失败,错误 1

    首先 至少有 2 个帖子有同样的问题 但这些解决方案不再起作用 至少在我的安装中不起作用 我将 m2e 与 Eclipse 和 Android 结合使用 并尝试通过选择 run as gt Android application 将应用程序