Codenameone 构建服务器错误 java.lang.NullPointerException

Codenameone build server error java.lang.NullPointerException

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

详情:

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

但是,当我尝试 "send Android build" 到构建服务器时,它得到一个 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>

在此先感谢您的帮助。

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

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

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

我最近在 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 如果图标已损坏