我有一个完全在Cordova 3.4上构建的Android Cordova应用程序。我刚刚更新到Cordova 3.5.0并且构建失败,显示以下错误:
-code-gen:
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
[echo] Handling aidl files...
[aidl] No AIDL files to compile.
[echo] ----------
[echo] Handling RenderScript files...
[echo] ----------
[echo] Handling Resources...
[aapt] Found Deleted Target File
[aapt] Generating resource IDs...
[aapt] D:\Proyectos\Trialtea\Proyecto 31 - Aplicaciones HTML5\05. Aplicaciones Google Play\phonegap_projects\InglesEn100DiasTurbo\platforms\andro
id\ant-build\AndroidManifest.xml:2: error: Error: Float types not allowed (at 'versionCode' with value 'NaN').
BUILD FAILED
D:\Recursos\Android_Development\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml:653: The following error occurred while executing this line
:
D:\Recursos\Android_Development\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml:698: null returned: 1
Total time: 5 seconds
Error code 1 for command: cmd with args: /s,/c,ant,debug,-f,D:\Proyectos\Trialtea\Proyecto 31 - Aplicaciones HTML5\05. Aplicaciones Google Play\phoneg
ap_projects\InglesEn100DiasTurbo\platforms\android\build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: cmd: Command failed with exit code 2
at ChildProcess.whenDone (C:\Users\Albert\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:135:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Process.ChildProcess._handle.onexit (child_process.js:810:5)
第15行有一个关于错误的错误:不允许使用浮点类型(在' versionCode'有值' NaN' ,我是我不知道为什么会这样。我的项目根源是 config.xml 文件,版本代码设置为3,但出于某种原因,当我构建项目时,使用 versionCode =" NaN" 设置 AndroidManifest.xml 。
最后显示的错误我不知道这意味着什么,或者它是否与上述错误有关。
有人能帮我解决这个问题吗?
哦,在通过 npm 更新Cordova后,我还使用 cordova platform update android 更新了项目文件夹中的Android平台。
答案 0 :(得分:17)
我已经解决了这个改变"版本" www / config.xml中的属性(即使它看起来不相关,因为问题出在versionCode上)。
只需添加第三个次要版本号,例如我从0.6更改为0.6.3
答案 1 :(得分:7)
使用cordova 3.5,config.xml中的属性应为android-versionCode="??"
而不是versionCode="??"
答案 2 :(得分:1)
我刚才遇到了同样的问题。 cordova版本3.5.0-0.2.6的解决方案如下:
打开您的app config.xml。
编辑如下:
**相应地更改 android-versionCode 值和版本值。
答案 3 :(得分:0)
手动更改versionCode
转到yourProject->platforms->android->AndroidManifest.xml
在第二行中,找到android:versionCode
将其设置为"1"
然后尝试再次构建
答案 4 :(得分:0)
正如一些人已经建议的那样,对于v3.5,必须在<widget/>
标记内的config.xml中设置versionCode。由于每个平台都是特定的,因此他们会在前面推荐平台名称。
版本=&#34; 0.0.1&#34;机器人-的versionCode =&#34; 2&#34; IOS-bundleVersion =&#34; 0.0.1&#34; WP-projectVersion =&#34; 0.0.1.0&#34;
详情请访问:
https://issues.apache.org/jira/browse/CB-5093
Google Play商店不允许重复使用版本代码,因此必须增加。该版本没有,因此如果您在alpha期间进行快速修复,则可以保持不变。当然,当您进入制作时,您需要更加小心,以便让您的用户得到适当的信息。
答案 5 :(得分:-1)
您需要在node.js
中运行以下命令:
cordova platform update android@5.0.0