Codename one - Android构建错误

问题描述:

尝试将我的应用程序发送到构建服务器(android)时遇到错误。 Netbeans的输出以下消息(实际的用户名删除):Codename one - Android构建错误

Prompting for password 
Building for username: <actualUsernameHere> 
/home/user/NetBeansProjects/OPKP/build.xml:338: The attribute can't be empty 
BUILD FAILED (total time: 6 seconds) 

在build.xml(约338行):

<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}" 
     /> //line 338 
</target> 

另外一个代号设置不会显示出来......

当我收到此错误时,它盯着我:

Cannot use a cn1lib with java version greater then the project java version 

与此同时Netbeans遇到了JavaFX的问题。所以我下载了最新的jdk,并在代码名称1中添加了一条提示:java.version - > 8.这解决了这两个问题,但现在我无法构建我的应用程序。

编辑: Codename_settings.properties文件(有些信息是隐藏的,但该文件中存在):

# 
#Tue Jul 11 14:27:58 CEST 2017 
codename1.ios.appid= 
codename1.ios.release.provision= 
codename1.arg.java.version=8 
codename1.arg.rim.obfuscation=false 
codename1.arg.ios.project_type=ios 
foobarfoo=This is a description of what we are going to do 
codename1.arg.ios.interface_orientation=UIInterfaceOrientationPortrait\:UIInterfaceOrientationPortraitUpsideDown\:UIInterfaceOrientationLandscapeLeft\:UIInterfaceOrientationLandscapeRight 
codename1.displayName= 
codename1.android.keystoreAlias= 
codename1.ios.release.certificate= 
codename1.arg.ios.background_modes=,bluetooth-central,bluetooth-peripheral 
codename1.android.keystorePassword=<actualPassHidden> 
codename1.ios.provision= 
codename1.arg.ios.add_libs=;CoreBluetooth.framework 
codename1.arg.ios.dsym=false 
codename1.arg.android.release=true 
roid.keystoreAlias=<actualAliasHidden> 
codename1.arg.ios.statusbar_hidden=false 
codename1.languageLevel=5 
codename1.android.keystore=<actualPathHidden> 
codename1.arg.ios.pods=,Cordova 
codename1.vendor=CodenameOne 
codename1.arg.win.ver=8 
codename1.ios.certificatePassword= 
codename1.ios.debug.certificatePassword= 
codename1.mainName=Main 
codename1.ios.release.certificatePassword= 
codename1.arg.ios.prerendered_icon=false 
codename1.ios.debug.certificate= 
libVersion=169 
codename1.arg.android.xpermissions=<uses-permission android\:name\="android.permission.BLUETOOTH"/><uses-permission android\:name\="android.permission.BLUETOOTH_ADMIN"/><uses-permission android\:name\="android.permission.ACCESS_COARSE_LOCATION"/> 
codename1.arg.ios.application_exits=false 
codename1.secondaryTitle=CodenameOne_Template 
codename1.description= 
codename1.ios.debug.provision= 
codename1.arg.build.incSources=1 
codename1.arg.j2me.nativeThemeConst=0 
codename1.rim.certificatePassword= 
codename1.version=2.0 
codename1.ios.certificate= 
codename1.icon=icon.png 
codename1.rim.signtoolCsk= 
codename1.arg.ios.plistInject=<key>NSBluetoothPeripheralUsageDescription</key><string>${foobarfoo}</string> 
codename1.arg.android.debug=false 
codename1.rim.signtoolDb= 
codename1.arg.ios.includePush=false 
codename1.arg.ios.testFlight=false 
codename1.packageName=com.ijs.opkp 

有谁知道什么可能是这个问题?

+0

codenameone_settings.properties中的其中一个值为空。如果你在问题中包含codenameone_settings.properties,我可能会回答这个问题。请注意,编辑问题后您需要在此处发表评论,以便我会收到通知... –

+0

感谢您的建议。我添加了codenameone_settings.properties文件。有什么遗漏吗?我不记得构建工作时文件的外观。 – MetalHead

通过查看属性中的条目与XML,看起来displayName属性为空。我没有检查一切,但似乎是一个问题。

+0

我添加了一个displayName。然后Netbeans警告我说我需要设置一个Android证书。我建立了它,现在正在建设工程。谢谢。 – MetalHead