Ошибка при создании приложения PhoneGap для BlackBerry (NullPointerException)

Я пытаюсь создать мобильное приложение на основе PhoneGap для Blackberry и получаю следующую ошибку:

    Running command: d:\app\platforms\blackberry10\cordova\build.bat
[INFO]    Populating application source
[INFO]    Parsing config.xml
[INFO]    Generating output files
[INFO]    java.lang.NullPointerException
[INFO]          at com.qnx.bbt.packager.Asset.setSourcePath(Asset.java:89)      at com.qnx.bbt.packager.Asset.<init>(Ass
et.java:76)     at com.qnx.bbt.xml.BbtExtensionXml.getAsset(BbtExtensionXml.java:583)   at com.qnx.bbt.xml.BbtExtensionX
ml.getAssets(BbtExtensionXml.java:553)  at com.qnx.bbt.packager.BbtBarValueProvider.getAssets(BbtBarValueProvider.java:2
02)     at com.qnx.bbt.bar.BARPackager.getAssets(BARPackager.java:71)   at com.qnx.bbt.bar.BARPackager.findAsset(BARPack
ager.java:257)  at com.qnx.bbt.bar.BARPackager.associateSourceAssets(BARPackager.java:251)      at com.qnx.bbt.packager.
AbstractPackager.parseDescriptorAndCreateBarManifest(AbstractPackager.java:582) at com.qnx.bbt.packager.AbstractPackager
.doRun(AbstractPackager.java:243)       at com.qnx.bbt.packager.AbstractPackager.runPackager(AbstractPackager.java:169)
at com.qnx.bbt.nativepackager.BarNativePackager.main(BarNativePackager.java:64)
[INFO]    Error: null
[ERROR]   Native Packager exception occurred
[INFO]    java.lang.NullPointerException
[INFO]          at com.qnx.bbt.packager.Asset.setSourcePath(Asset.java:89)      at com.qnx.bbt.packager.Asset.<init>(Ass
et.java:76)     at com.qnx.bbt.xml.BbtExtensionXml.getAsset(BbtExtensionXml.java:583)   at com.qnx.bbt.xml.BbtExtensionX
ml.getAssets(BbtExtensionXml.java:553)  at com.qnx.bbt.packager.BbtBarValueProvider.getAssets(BbtBarValueProvider.java:2
02)     at com.qnx.bbt.bar.BARPackager.getAssets(BARPackager.java:71)   at com.qnx.bbt.bar.BARPackager.findAsset(BARPack
ager.java:257)  at com.qnx.bbt.bar.BARPackager.associateSourceAssets(BARPackager.java:251)      at com.qnx.bbt.packager.
AbstractPackager.parseDescriptorAndCreateBarManifest(AbstractPackager.java:582) at com.qnx.bbt.packager.AbstractPackager
.doRun(AbstractPackager.java:243)       at com.qnx.bbt.packager.AbstractPackager.runPackager(AbstractPackager.java:169)
at com.qnx.bbt.nativepackager.BarNativePackager.main(BarNativePackager.java:64)
[INFO]    Error: null
[ERROR]   Native Packager exception occurred
An error has occurred
Error: d:\app\platforms\blackberry10\cordova\build.bat: Command fai
led with exit code 2
    at ChildProcess.whenDone (C:\Users\user123\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib
\src\cordova\superspawn.js:135:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)

Приложение прекрасно работает на Android, но не работает на Blackberry. Любые идеи?


person Alexey    schedule 29.09.2014    source источник


Ответы (1)


Убедитесь, что в вашем проекте нет зарезервированных имен файлов или папок.

http://developer.blackberry.com/html5/documentation/v1_0/creating_an_archive_file_1873325_11.html

В частности, если в корневом каталоге вашего проекта есть папка с именем «bin» или «src», вы получите эту ошибку.

person drlarsen    schedule 17.11.2014
comment
Пожалуйста, скопируйте эту ошибку вместо того, чтобы просто оставить ссылку только на ответ, как сейчас. - person Jason D; 18.11.2014
comment
Я не понимаю. Сообщение об ошибке находится в исходном вопросе. Нет причин пересказывать это. Мой ответ объясняет, почему он получает ошибку (зарезервированное имя файла или папки), я предоставляю ссылку на страницу, которая объясняет правила именования BlackBerry, и я объясняю, в чем заключается его конкретная проблема. - person drlarsen; 07.03.2015
comment
Это соглашение Stackoverflow, по которому мы обычно пытаемся скопировать и вставить соответствующую часть ответа со страницы в ваш ответ. Это делается для того, чтобы избежать проблем, связанных с удалением связанной страницы и потерей информации. Более подробно это обсуждается здесь: meta.stackexchange.com/questions/8231/ Для этого вы можете просто скопировать и вставить правило именования, на которое вы ссылаетесь, в свой ответ. - person Jason D; 07.03.2015
comment
Вам нужно переименовать папку src в папке вашего проекта, а также изменить ссылку на папку во всех экземплярах вашего index.html. Сюда входят платформы/android/blackberry10/www/ и папка вашего проекта/www/index.html. Вы также должны проверить свою ссылку на файлы javasscript в вашем индексном html и убедиться, что нет отсутствующего файла. - person inspiredMichael; 31.03.2016