2

我遵循如何在 Maven 中使用 PlayN 的指南,但是当我执行命令时:

    行家安装 

它失败。

错误日志如下:

    [信息]
    [信息] --- maven-android-plugin:3.0.0-alpha-2:dex (default-dex) @ playn-showcase-android ---
    [信息] /usr/lib/jvm/java-6-openjdk/jre/bin/java [-Xmx1024m,-jar,/opt/android-sdk/platform-tools/lib/dx.jar,--dex,- -output=/home/hox/Projects/playn/playn/sample/showcase/android/target/classes.dex, /home/hox/Projects/playn/playn/sample/showcase/android/target/android-classes]
    [信息]
    [信息] --- maven-jar-plugin:2.3.2:jar (default-jar) @ playn-showcase-android ---
    [信息] 构建 jar:/home/hox/Projects/playn/playn/sample/showcase/android/target/playn-showcase-android-1.0-SNAPSHOT.jar
    [信息]
    [信息] --- maven-android-plugin:3.0.0-alpha-2:apk (default-apk) @ playn-showcase-android ---
    [信息] /opt/android-sdk/platform-tools/aapt [包,-f,-M,/home/hox/Projects/playn/playn/sample/showcase/android/AndroidManifest.xml,-S,/home /hox/Projects/playn/playn/sample/showcase/android/res, --auto-add-overlay, -I, /opt/android-sdk/platforms/android-11/android.jar, -F, /home /hox/Projects/playn/playn/sample/showcase/android/target/playn-showcase-android-1.0-SNAPSHOT.ap_]
    [错误] 无法创建 APKBuilder 对象
    java.lang.NullPointerException
        在 com.jayway.maven.plugins.android.phase09package.ApkBuilder.(ApkBuilder.java:195)
        在 com.jayway.maven.plugins.android.phase09package.ApkMojo.doAPKWithAPKBuilder(ApkMojo.java:334)
        在 com.jayway.maven.plugins.android.phase09package.ApkMojo.createApkFile(ApkMojo.java:249)
        在 com.jayway.maven.plugins.android.phase09package.ApkMojo.execute(ApkMojo.java:207)
        在 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        在 org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
        在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        在 org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        在 org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        在 org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        在 java.lang.reflect.Method.invoke(Method.java:616)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
    [信息] --------------------------------------------- -------------------------
    [信息] 反应堆摘要:
    [信息]
    [INFO] PlayN 项目 .................... 成功 [0.125s]
    [INFO] PlayN 项目原型......................成功 [0.650s]
    [INFO] PlayN 核心 .................................... 成功 [1.962s]
    [信息] PlayN JBox2D .................... 成功 [2.125s]
    [信息] PlayN WebGL .................... 成功 [0.914s]
    [信息] PlayN Java .................... 成功 [1.740s]
    [信息] PlayN HTML .................................... 成功 [1.419s]
    [INFO] PlayN Flash ......................... 成功 [1.414s]
    [信息] PlayN Android .....................成功 [1.552s]
    [信息] PlayN 服务器 .................................... 成功 [0.524s]
    [INFO] PlayN 演示项目 ................................ 成功 [0.002s]
    [INFO] PlayN Hello Metaproject ......................成功 [0.003s]
    [信息] PlayN Hello Core .................................. 成功 [0.574s]
    [信息] PlayN Hello HTML .................................. 成功 [18.829s]
    [信息] PlayN Hello Flash .................................. 成功 [22.045s]
    [信息] PlayN Hello Android ................................成功 [14.519s]
    [INFO] PlayN Showcase Metaproject ...................... 成功 [0.003s]
    [INFO] PlayN Showcase Core ................................成功 [1.567s]
    [信息] PlayN 展示 HTML .............................成功 [21.663s]
    [INFO] PlayN Showcase Flash ................................ 成功 [35.783s]
    [INFO] PlayN Showcase Android ...................... 失败 [11.533s]
    [信息] PlayN 可爱的元项目 ............................. 跳过
    [信息] PlayN 可爱的核心 .................................... 跳过
    [信息] PlayN 可爱的 HTML .................................... 跳过
    [信息] PlayN 可爱的 Flash .................................. 跳过
    [信息] PlayN 可爱的 Android ...................... 跳过
    [信息] PlayN 付款 .................................... 跳过
    [信息] PlayN 支付核心 ................................... 跳过
    [信息] PlayN Payments 演示元项目 .................... 跳过
    [信息] PlayN 支付演示核心 ...................... 跳过
    [信息] PlayN 付款 HTML ................................ 跳过
    [信息] PlayN 支付服务器 .................... 跳过
    [信息] PlayN 支付演示 HTML ...................... 跳过
    [信息] PlayN 测试元项目 ...................... 跳过
    [信息] PlayN 基准元项目 .................................. 跳过
    [信息] PlayN Benchmarks Core ................................ 跳过
    [信息] PlayN 基准 HTML ................................ 跳过
    [信息] PlayN 手动测试元项目 .................... 跳过
    [INFO] PlayN 手动测试核心 ...................... 跳过
    [信息] PlayN 手动测试 HTML ...................... 跳过
    [INFO] PlayN 手动测试 Flash ............................. 跳过
    [信息] --------------------------------------------- -------------------------
    [信息] 构建失败
    [信息] --------------------------------------------- -------------------------
    [INFO] 总时间:2:20.302s
    [INFO] 完成时间:2011 年 10 月 25 日星期二 15:44:44 CEST
    [INFO] 最终内存:122M/318M
    [信息] --------------------------------------------- -------------------------
    [错误] 无法在项目 playn-showcase-android 上执行目标 com.jayway.maven.plugins.android.generation2:maven-android-plugin:3.0.0-alpha-2:apk (default-apk):无法创建APKBuilder 对象:NullPointerException -> [帮助 1]
    [错误]
    [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。
    [错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。
    [错误]
    [错误] 有关错误和可能的解决方案的更多信息,请阅读以下文章:
    [错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    [错误]
    [错误] 更正问题后,您可以使用命令恢复构建
    [错误] mvn -rf :playn-showcase-android

我在这里发现了同样的错误,但没有解决方案。

4

1 回答 1

4

您使用的是最近发布的 r14 的 Android SDK 吗?playn 使用的 Maven Android 插件版本似乎存在一些问题。尝试用以下内容替换插件部分samples/showcase/android/pom.xml

<plugins>
  <plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
      <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
      <assetsDirectory>${project.basedir}/assets</assetsDirectory>
      <resourceDirectory>${project.basedir}/res</resourceDirectory>
      <sdk>
        <platform>11</platform>
      </sdk>
      <undeployBeforeDeploy>true</undeployBeforeDeploy>
      <jvmArguments>
        <jvmArgument>-Xmx1024m</jvmArgument>
      </jvmArguments>
      <dex>
        <jvmArguments>
          <jvmArgument>-Xmx1024m</jvmArgument>
        </jvmArguments>
      </dex>
    </configuration>
    <extensions>true</extensions>
  </plugin>
</plugins>

然后 cd 进入 samples/showcase 并运行 mvn clean 然后 mvn install。

如果可行,我将在今天晚些时候考虑升级所有示例以使用最新的 android maven 插件。

于 2011-10-25T18:26:41.147 回答