`
jarry-li
  • 浏览: 41585 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

phonegap黑莓blackberry的sample应用在build时出错的原因及解决办法

阅读更多

 

  使用phonegap(cordova),在开发完ios/android版本后,近几天想弄一个黑莓的版本,故去搭建phonegap的黑莓开发环境,按照官方文档 http://docs.phonegap.com/en/2.2.0/guide_getting-started_blackberry_index.md.html#Getting%20Started%20with%20Blackberry 一步步把环境搭建好之后,兴奋地急着想看看运行的效果,但是在build/load-simulator时就被打击得不轻,出现了如下错误(错误信息摘自http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece7631043973b5e16c1743ca085482281cd1f84642c101a39feee677f5746cea7263a5df83c0fa8814a6f684275aa9a9ede4fdeb9c27b2e83206474188c42069644ef9d49739671cd0cb2f34cf0bb806dc0ecc5d2af4353bd44040ac2b7cd4d00659d25b6436da2fdc414025e60adea4172fe292777cc7219a14689b0652e47cae1dc2c5bc45bc76061c6f26aef634ea212d4081c5553a13cf64e0a7827e13f30f8352a05e2ac1db93d783075e119eeef96f6fc49fccbea468ffbbbf77cd133&p=b4759a46dc8912a05beb8c60454980&newp=8b2a9643ba934eac52aedf3953548a231615d70e37d3d579&user=baidu&fm=sc&query=decodingMap%2Eput+extension%5Cblackberry%5Ccommon%5Cutil%5CURLDecoder%2Ejava&qid=d153fa8f00edf937&p1=1):

 

=========================================================

 

*D:\Workspace\sample>ant blackberry load-simulator* 

Buildfile: D:\Workspace\sample\build.xml 

blackberry: 

load-simulator: 

generate-cod-name: 

     [echo] Generated name: CordovaSample.cod 

clean: 

   [delete] Deleting directory D:\Workspace\sample\build 

package-app: 

    [mkdir] Created dir: D:\Workspace\sample\build\widget 

     [copy] Copying 8 files to D:\Workspace\sample\build\widget 

      [zip] Building zip: D:\Workspace\sample\build\CordovaSample.zip 

build: 

     [exec] [INFO]       Parsing command line options 

     [exec] [INFO]       Parsing bbwp.properties 

     [exec] [INFO]       Validating application archive 

     [exec] [INFO]       Parsing config.xml 

     [exec] [WARNING]    Failed to find the <author> element 

     [exec] [INFO]       Populating application source 

     [exec] [INFO]       Compiling BlackBerry WebWorks application 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:139: 错误: 未结束的字符串文字 

     [exec]         decodingMap.put( "%80", "? ); 

     [exec]                                 ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:139: 错误: 需要';' 

     [exec]         decodingMap.put( "%80", "? ); 

     [exec]                                      ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:140: 错误: 非法的表达式开始 

     [exec]         decodingMap.put( "%81", " " ); 

     [exec]                    ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:140: 错误: 需要';' 

     [exec]         decodingMap.put( "%81", " " ); 

     [exec]                        ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:141: 

错误: 未结束的字符串文字 

     [exec]         decodingMap.put( "%82", "? ); 

     [exec]                                 ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:141: 错误: 需要';' 

     [exec]         decodingMap.put( "%82", "? ); 

     [exec]                                      ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:142: 错误: 非法的表达式开始 

     [exec]         decodingMap.put( "%83", "? ); 

     [exec]                    ^ 

.......................................... 

.......................................... 

.......................................... 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:181: 错误: 未结束的字符串文字 

     [exec]         decodingMap.put( "%AA", "? ); 

     [exec]                                 ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:182:错误: 未结束的字符串文字 

     [exec]         decodingMap.put( "%AB", "? ); 

     [exec]                                 ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:182:错误: 需要';' 

     [exec]         decodingMap.put( "%AB", "? ); 

     [exec]                                      ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:183: 错误: 非法的表达式开始 

     [exec]         decodingMap.put( "%AC", "? ); 

     [exec]                    ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:183: 

错误: 需要';' 

     [exec]         decodingMap.put( "%AC", "? ); 

     [exec]                        ^ 

     [exec] C:\Documents and Settings\Administrator\Local 

Settings\Temp\widgetGen.165781651338115655203.tmp\extension\blackberry\common\util\URLDecoder.java:183: 错误: 未结束的字符串文字 

     [exec]         decodingMap.put( "%AC", "? ); 

     [exec]                                 ^ 

     [exec] 100 个错误 

     [exec] Error!: Error: java compiler failed: D:\Program Files\Java\jdk1.7.0_03\bin\javac.exe 

@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\rapc_1c33ffa2.d ... 

     [exec] [ERROR]      RAPC exception occurred 

load-simulator: 

     [echo] Simulator directory=D:\Program Files\Research In 

Motion\BlackBerry WebWorks SDK 2.3.1.5\simpack\7.0.0.318 

     [echo] Simulator directory=D:\Program Files\Research In 

Motion\BlackBerry WebWorks SDK 2.3.1.5\simpack\7.0.0.318 

     [echo] Simulator executable=D:\Program Files\Research In 

Motion\BlackBerry WebWorks SDK 2.3.1.5\simpack\7.0.0.318/9930.bat 

     [echo] Closing all running simulators... 

     [exec] No sessions currently running. 

     [echo] MDS directory=D:\Program Files\Research In Motion\BlackBerry 

WebWorks SDK 2.3.1.5/mds 

BUILD FAILED 

D:\Workspace\sample\build.xml:33: The following error occurred while 

executing this line: 

D:\Workspace\sample\blackberry.xml:123: 

D:\Workspace\sample\build\StandardInstall does not exist. 

*机器环境:* 

*OS- Windows XP(Chinese)* 

*Java- jdk1.6.0_05* 

*Ant-apache-ant-1.8.1* 

*BlackBerry WebWorks SDK 2.3.1.5* 

*Cordova-1.7.0* 

 

===============================================================

 

我尝试过多个环境:

OS: winXP / mac

ant: 1.8.2 / 1.8.4

JDK: 1.6.0_13/1.6.0_32/1.6.0_37

SDK: BlackBerry WebWorks SDK 2.3.1.5(想试老版本却没找到)

phonegap: 1.9/2.0/2.2


最终在:
找到答案。


问题的根源来自BlackBerry WebWorks SDK:
SDK的安装目录下的URLDecoder.java乱码,目录如:D:\dev\Research In Motion\BlackBerry WebWorks SDK 2.3.1.5\ext\common\blackberry\common\util\URLDecoder.java
而终端打印的一堆出错信息都是表象,C:\Documents and Settings\Administrator\Local 

Settings\Temp里java文件都是来自sdk,所以我们只要把sdk下的URLDecoder.java进行下处理那可:

在终端cd到sdk安装目录,并进入URLDecoder.java所有目录,执行如下命令。

D:\dev\Research In Motion\BlackBerry WebWorks SDK 2.3.1.5\ext\common\blackberry\common\util>native2ascii -encoding ISO-8859-1 URLDecoder.java URLDecoder.java_Unicode

D:\dev\Research In Motion\BlackBerry WebWorks SDK 2.3.1.5\ext\common\blackberry\common\util>rename URLDecoder.java URLDecoder.java_bak

D:\dev\Research In Motion\BlackBerry WebWorks SDK 2.3.1.5\ext\common\blackberry\common\util>rename URLDecoder.java_Unicode URLDecoder.java


至此问题已经搞定!

折腾死我了,铭刻下来,以众示之!




 

分享到:
评论
1 楼 bee1314 2013-02-25  
真是非常感谢分享,也碰到这个问题,唉。黑莓太坑了!什么时候开发环境能人性化点。。。

相关推荐

    PhoneGap Build的使用

    纯粹属于闲折腾的结果,只是这中间还遇到...之前写过一篇构建webapp项目的文章&lt;构建基于Android和PhoneGap的开发环境&gt;,假设已经写了一个简单的demo页面,现在如何生成一个安装程序并安装到手机中,进行效果预览呢?

    PhoneGap开发的android应用实例

    该Simple已经实现了GPS定位,重力感应,声音调用,振动,摄像头调用...  PhoneGap是一款开源的手机应用开发平台,它... 目前,PhoneGap已实现对iPhone/ipad、Android、Symbian,Palm、黑莓各版本绝大部分功能的支持.

    基于phoneGap的跨平台应用的源码

    这是寒假时,做的一个使用phoneGap的跨平台手机应用App,使用绑定的新浪微博,希望大家喜欢,后期会添加,node.js 作为支持后台,在此跟大家分享一下。

    html5+phonegap跨平台移动应用开发

    html5+phonegap跨平台移动应用开发

    Phonegap拍照,图片保存应用

    基于android ,phonegap调用照相机拍照,图片保存

    PhoneGap开发手册

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。

    PhoneGap 手机应用开发平台 v1.5.1

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是...

    第一讲 HTML5+PhoneGap跨平台移动应用软件开发 概述

    第一讲 HTML5+PhoneGap跨平台移动应用软件开发 概述

    PhoneGap入门经典

    在简要介绍了PhoneGap的安装和配置信息之后,《PhoneGap入门经典》将迅速引导你使用PhoneGap建立iOS、Android以及BlackBerry应用程序。每一章都对不同的组件提供了深度的视角,并在进入下一阶段前通过练习使你掌握每...

    PhoneGap的API组件及使用方法

    PhoneGap API的使用方法总结和PhoneGap的使用方法、PhoneGap第三方文件。

    PhoneGap 构建跨平台移动应用

    用于搭建跨平台应用,使用它中以创建出HTML5的本地化应用。 支持传感器,摄像头,获得联系人等功能。。。

    构建跨平台APP HTML 5+PhoneGap移动应用实战

    构建跨平台APP HTML 5+PhoneGap移动应用实战

    PhoneGap 开发的一个例子

    它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是...

    PhoneGap-Desktop 和 PhoneGap Developer App官方出品

    此调试工具是调试phonegap应用的。官方把电脑端和手机端分开下载。 我这里把它们都手机一块儿。win目录在电脑上安装,app在手机上安装。 安装后,把win中的案例解压,创建项目时候选择此项目,然后手机上输入电脑上...

    phonegap local-notifications插件应用实例含(android、ios、windows)

    phonegap local-notifications插件应用实例含(android、ios、windows)

    基于PhoneGap跨平台移动开发框架的研究与应用

    快速发展的移动互联网技术使得移动终端成为实现对...针对这种情况,提出采用HTML5及PhoneGap等技术,解决移动网站、App、微信端的研发差异性。最后,搭建完整地系统技术架构,并以网站购物为例验证跨平台移动建站的可行性。

    phonegap-start, PhoneGap Hello World 应用程序.zip

    phonegap-start, PhoneGap Hello World 应用程序 Hello World 应用程序 使用PhoneGap构建的Hello World 应用程序用法桌面在浏览器中,打开 file: /www/index.html CLI当你创建一个新应用程序时,这

    跨平台的PhoneGap应用

    跨平台的PhoneGap应用

    grunt-phonegap, 为Phonegap应用程序提供本地构建任务的Grunt插件.zip

    grunt-phonegap, 为Phonegap应用程序提供本地构建任务的Grunt插件 : Phonegap提供为 Phonegap应用程序提供构建任务的插件插件 grunt-phonegap 通过包装 Phonegap 3.0 命令行 接口,将Phonegap开发与 Grunt -based...

    关于html5开发框架PhoneGap的移动开发调研

    PhoneGap开发ios应用是否要交年费? 答:需要,因为编译后同ios的本地应用没有区别,同样要通过许可证发布到App Store中 2、PhoneGap不同平台的SDK是否一样? 答:不一样,这与不同平台API所相关,如ios是...

Global site tag (gtag.js) - Google Analytics