MojoExecutionException:使用 Android 的 Maven

2024-04-10

我将 Android Studio 与 Maven 3.1.1 一起使用,在包目标中它因 MojoExecutionException 崩溃。我读了很多帖子,但无法得到解决方案。

[错误] 生成源时出错。

org.apache.maven.plugin.MojoExecutionException: 
    at com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.generateR(GenerateSourcesMojo.java:593)
    at com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.execute(GenerateSourcesMojo.java:216)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: com.jayway.maven.plugins.android.ExecutionException: ANDROID-040-001: Could not execute: Command = cmd.exe /X /C "C:\Users\hvalls\AppData\Local\Android\android-studio\sdk\build-tools\19.0.3\aapt.exe package -f --no-crunch -I C:\Users\hvalls\AppData\Local\Android\android-studio\sdk\platforms\android-19\android.jar -M C:\Users\hvalls\Desktop\my-app\AndroidManifest.xml -S C:\Users\hvalls\Desktop\my-app\res -A C:\Users\hvalls\Desktop\my-app\target\generated-sources\combined-assets\assets -m -J C:\Users\hvalls\Desktop\my-app\target\generated-sources\r --output-text-symbols C:\Users\hvalls\Desktop\my-app\target --auto-add-overlay", Result = -1073741819
    at com.jayway.maven.plugins.android.CommandExecutor$Factory$DefaultCommandExecutor.executeCommand(CommandExecutor.java:246)
    at com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.generateR(GenerateSourcesMojo.java:589)
    ... 28 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16.665s
[INFO] Finished at: Tue Mar 25 22:32:34 CET 2014
[INFO] Final Memory: 19M/184M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.8.2:generate-sources (default-generate-sources) on project my-app: MojoExecutionException: ANDROID-040-001: Could not execute: Command = cmd.exe /X /C "C:\Users\hvalls\AppData\Local\Android\android-studio\sdk\build-tools\19.0.3\aapt.exe package -f --no-crunch -I C:\Users\hvalls\AppData\Local\Android\android-studio\sdk\platforms\android-19\android.jar -M C:\Users\hvalls\Desktop\my-app\AndroidManifest.xml -S C:\Users\hvalls\Desktop\my-app\res -A C:\Users\hvalls\Desktop\my-app\target\generated-sources\combined-assets\assets -m -J C:\Users\hvalls\Desktop\my-app\target\generated-sources\r --output-text-symbols C:\Users\hvalls\Desktop\my-app\target --auto-add-overlay", Result = -1073741819 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Process finished with exit code 1

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://maven.apache.org/POM/4.0.0"
    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>com.android.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>apk</packaging>
    <name>my-app</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <platform.version>4.1.1.4
        </platform.version>
        <android.plugin.version>3.8.2</android.plugin.version>
    </properties>

    <dependencies>
        <!--Android Annotations-->
        <dependency>
            <groupId>com.googlecode.androidannotations</groupId>
            <artifactId>androidannotations-api</artifactId>
            <version>2.7.1</version>
        </dependency>
        <dependency>
            <groupId>com.googlecode.androidannotations</groupId>
            <artifactId>androidannotations</artifactId>
            <version>2.7.1</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>${platform.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>${project.artifactId}</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                    <artifactId>android-maven-plugin</artifactId>
                    <version>${android.plugin.version}</version>
                    <extensions>true</extensions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>android-maven-plugin</artifactId>
                <version>3.8.2</version>
                <configuration>
                    <sdk>
                        <platform>19</platform>
                    </sdk>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

这个问题有点棘手,但是可以解决!

首先,当你收到像你得到的错误消息时,你应该尝试运行 Maven 说它运行失败的命令,因为在 Maven 下载依赖项并构建代码等之后。Maven 它会自行运行初始命令来使你的apk。在你的情况下是:

C:\Users\hvalls\AppData\Local\Android\android-studio\sdk\build-tools\19.0.3\aapt.exe package -f --no-crunch -I C:\Users\hvalls\AppData\Local\Android\android-studio\sdk\platforms\android-19\android.jar -M C:\Users\hvalls\Desktop\my-app\AndroidManifest.xml -S C:\Users\hvalls\Desktop\my-app\res -A C:\Users\hvalls\Desktop\my-app\target\generated-sources\combined-assets\assets -m -J C:\Users\hvalls\Desktop\my-app\target\generated-sources\r --output-text-symbols C:\Users\hvalls\Desktop\my-app\target --auto-add-overlay

因此,当您运行此命令时,它将为您提供 dx.bat 工具的真实错误输出。只需修复您在输出中看到的错误并重新运行 mvn。

就我而言,我收到此错误是因为我的 res 文件夹下的图像之一不是 png 文件,尽管扩展名是 png。在我修复文件类型后,它起作用了。

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

MojoExecutionException:使用 Android 的 Maven 的相关文章

随机推荐

  • 如何有效检查连续数字列表是否缺少任何元素

    我有这个数组 var arr s00 s01 s02 s03 s04 s05 s07 s08 s09 s10 s11 s12 s13 s14 s17 s19 s20 s21 s22 s24 s25 s26 s27 s28 s30 s32 s
  • 减少重塑的计算时间

    我有以下数据集 我想将其从宽格式重塑为长格式 Name Code CURRENCY 01 01 1980 02 01 1980 03 01 1980 04 01 1980 Abengoa 4256 USD 1 53 1 54 1 51 1
  • Polybase CREATE EXTERNAL TABLE 跳过标头

    我是 Azure 和 Polybase 的新手 我正在尝试将 CSV 文件读入 SQL 外部表 我注意到 不可能跳过第一行 即我读过的一些论坛上的标题 我希望相反 你能帮我吗 我使用的代码如下 提前致谢 CREATE EXTERNAL TA
  • 前台服务重启后多次接收BluetoothGattCallback

    我正在使用支持 BLE 的硬件 并使用 Android 的前台服务与硬件进行通信 前台服务负责处理 BLE 相关事件 并且在一段时间内按照要求工作得很好 但不知何故 如果前台服务被终止或 BLE 连接由于任何原因而中断 则应用程序会尝试再次
  • 需要加速automapper...完成113个对象需要32秒

    您好 我在自动映射器方面遇到了一些主要问题 而且速度很慢 我不知道如何加快速度 我正在使用 nhibernate Fluent nhibernate 和 asp net mvc 3 0 Serializable public class T
  • 在 ubuntu 中使用 Gunicorn:最新的 Docker 镜像

    我正在尝试在 Ubuntu 最新的 Docker 映像中设置 Gunicorn 服务器 在 Docker 上启动时 我有以下输出 2020 08 01 14 12 38 0000 6 INFO Starting gunicorn 20 0
  • 使用弹出的 Angular 4 应用程序进行生产编译会生成大文件

    ng build prodAngular CLI 命令在 Angular4 应用程序中生成高度压缩的 JavaScript 文件 当使用以下命令弹出应用程序时ng eject命令 Angular CLI 命令消失了 我们只剩下 npm 脚本
  • 如何将 PDFBox 添加到 Android 项目或建议替代方案

    我正在尝试打开现有的 pdf 文件 然后从 Android 应用程序中将另一个页面添加到 pdf 文档中 在添加的页面上 我需要添加一些文本和图像 我想尝试一下 PDFBox 由于许可条款 价格的原因 iTextPDF 等其他解决方案不适合
  • Blind 在动画期间隐藏 div

    我有以下内容 http jsfiddle net 4QF4C 14 http jsfiddle net 4QF4C 14 为什么动画过程中红色方块隐藏在黑线后面 动画完成后又显示出来 我怎样才能解决这个问题 HTML div class c
  • 创建命名空间后自动创建 Kubernetes 资源

    我有2个团队 开发人员 他们每次部署应用程序的分支 标签时都会创建一个新的 Kubernetes 命名空间 ops 它们通过 集群 角色和 集群 角色绑定管理对集群的访问控制 问题是 在 ops 创建 RBAC 资源之前 devs 无法 k
  • UIL,毕加索 - 停止滚动时适配器中的图像总是重新加载

    I have ListView with text and large image from internet My image item has fit width and wrap content height I tried to d
  • ValueError:在PIL中混合图片时图像不匹配

    我一直在用 python 搞乱 看看是否可以将两张图片 混合 在一起 我的意思是 图像是透明的 您可以同时看到两张图片 如果这仍然没有意义 请查看此链接 只有我会混合图片和图片而不是 gif https cdn discordapp com
  • 通过 JavaScript 动态创建和打印 h1 标签

    我需要能够在 JavaScript 中创建一个函数 我需要做的就是输入 h1 hello 它就会打印 hello 我想避免这种方法 function h1 text document write h1 text h1 这就是我所拥有的 fu
  • 使用拦截器延迟所有请求

    出于调试目的 我想延迟all请求 以便我可以模拟加载资源实际上需要时间 我想这可以在拦截器中以某种方式完成 我确实设法推迟single现在请求 const delay milliseconds gt new Promise resolve
  • GitHub 对 SSH 部署密钥的限制

    GitHub SSH 部署密钥是否有任何限制 假设我需要将 2000 个甚至 4000 个部署密钥添加到 git 存储库中 这可能吗 或者我会在某个时候达到极限吗 原因是我们有 4000 台设备需要配置 我们希望控制哪些设备可以访问存储库
  • 删除字符“.”之前的字符

    如何有效地删除字符串中位于字符 之前的所有字符 Input 美洲美国 Output USA 您可以使用IndexOf method http msdn microsoft com en us library kwb0bwyd v VS 10
  • 有没有 View.GetOutline() 的替代方案可以提供更好的轮廓?

    返回的大纲View GetOutline 方法并不完全对应于可见绘图 它返回的内容比 SolidWorks GUI 显示的选择轮廓要多一些 下面的屏幕截图显示了选择轮廓 浅蓝色虚线矩形 和由返回的轮廓的对角线View GetOutline
  • sem_init(…): value 参数有什么用?

    在类中 我们必须使用信号量来完成线程的工作 sem init 的原型 和头文件 如下 int sem init sem t sem int pshared 无符号 int 值 但我不明白 value 变量的用途 据 opengroup or
  • 关闭 Android 中的自动对焦

    这是在我的应用程序代码中关闭相机自动对焦的任何方法 我想检查如果手机没有自动对焦功能 我的扫描仪如何工作 但我的手机有该功 能 Use FOCUS MODE INFINITY http developer android com refer
  • MojoExecutionException:使用 Android 的 Maven

    我将 Android Studio 与 Maven 3 1 1 一起使用 在包目标中它因 MojoExecutionException 崩溃 我读了很多帖子 但无法得到解决方案 错误 生成源时出错 org apache maven plug