【问题标题】:Codenameone build server error java.lang.NullPointerExceptionCodenameone 构建服务器错误 java.lang.NullPointerException
【发布时间】:2023-03-31 03:40:02
【问题描述】:

开发平台:Mac OSX IDE:NetBeans 目标设备:安卓 主题:构建服务器问题

详情:

我复活了一个旧的 CN1 项目,我上次发送到构建服务器大约是 2 年前。我花了很多时间进行广泛的重构,它在模拟器上效果很好。请注意,该应用程序使用自定义 cn1lib,其中我有相当多的代码。模拟器似乎很好用。

但是,当我尝试向构建服务器“发送 Android 构建”时,它会收到 java.lang.NullPointerException。只是为了确保我的 Android 证书正确,我将您的“KitchenSink”演示发送到构建服务器并且一切正常。但是我的应用程序不好。我不知道从这里做什么。有什么建议吗?

我的应用程序上的异常在发送到构建服务器时如下所示:

java.lang.NullPointerException 在 com.codename1.build.client.CodeNameOneBuildTask.execute(CodeNameOneBuildTask.java:330) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293) 在 sun.reflect.GeneratedMethodAccessor79.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 在 org.apache.tools.ant.Task.perform(Task.java:348) 在 org.apache.tools.ant.Target.execute(Target.java:435) 在 org.apache.tools.ant.Target.performTasks(Target.java:456) 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405) 在 org.apache.tools.ant.Project.executeTarget(Project.java:1376) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools.ant.Project.executeTargets(Project.java:1260) 在 org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:286) 在 org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:555) 在 org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153) 构建失败(总时间:2 秒)

该错误还引用了 build.xml 文件的这一部分:

<target name="build-for-android-device" depends="clean,copy-android-override,copy-libs,jar,clean-override">
    <codeNameOne 
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="android"
        keystoreAlias="${codename1.android.keystoreAlias}"
        keystore="${codename1.android.keystore}"
        certPassword="${codename1.android.keystorePassword}"
        automated="${automated}"
        />
</target>

提前感谢您的帮助。

【问题讨论】:

    标签: java android build codenameone


    【解决方案1】:

    好的,我解决了这个问题。似乎我的 lib 目录中有一些过时的 cn1lib 文件。这些我后来合并到一个 cn1lib 文件中。我怀疑他们有冲突。

    现在一切似乎都很好。很抱歉误报!

    【讨论】:

      【解决方案2】:

      (最初的问题已经解决,我在这里发帖只是为了任何可能遇到类似问题的人。)

      我最近在 Windows 上遇到了同样的错误信息 - Eclipse Oxygen - CN4.0

      build.xml:287: java.lang.NullPointerException
          at com.codename1.build.client.CodeNameOneBuildTask.execute(CodeNameOneBuildTask.java:337)
          at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
          at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source)
      ...
      ...
      

      在我的例子中,图标文件不是 512x512。用另一个.png 替换图标解决了这个问题。提供的调试消息并不能说明原因,所以它就像一个试验和错误。


      编辑:如果图标损坏,另一个症状是CN1 settings -> Basics 失败

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多