`
jarry-li
  • 浏览: 43296 次
  • 性别: 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的使用

    2. **配置应用信息**:在PhoneGap Build中配置应用的基本信息,例如应用图标、启动页等。这些设置会影响最终生成的应用外观。 3. **生成安装包**:完成配置后,点击“Build”按钮开始构建过程。构建完成后,你可以...

    Phonegap拍照,图片保存应用

    这样,图片就被安全地保存在应用内部,不会被其他应用访问。 6. **权限管理**:在AndroidManifest.xml中,必须声明`&lt;uses-permission&gt;`元素以获取使用摄像头和写入外部存储的权限。对于Android 6.0及以上版本,还...

    oPath的BlackBerry PhoneGap 2.0.0 移植版本

    这个链接可能是开发者在移植过程中遵循的指南,里面详细介绍了如何将基于PhoneGap的应用程序适配到BlackBerry设备上。 **标签解析:** 标签"oPath BlackBerry PhoneGap"进一步强调了这个压缩包的内容与这三个...

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

    这个“基于PhoneGap的跨平台应用的源码”提供了在寒假期间创建的一个项目实例,它展示了如何利用PhoneGap的特性来开发一款能够运行在不同操作系统上的应用。 PhoneGap的核心是它能够将Web技术转化为可在移动设备上...

    PhoneGap 构建跨平台移动应用

    3. **联系人**:提供读取、编辑和管理设备联系人的能力,方便在应用中实现通讯录相关的功能。 4. **GPS和地理位置服务**:获取用户的当前位置,实现地图导航、位置相关推荐等功能。 5. **媒体**:录音和播放音频、...

    PhoneGap开发的android应用实例

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

    我的第一个PhoneGap应用

    在"我的第一个PhoneGap应用"中,你可能会学习到如何配置PhoneGap项目,这包括编辑配置文件`config.xml`,在这里你可以定义应用的名称、版本、图标和其他元数据。你还会学习到如何添加设备API,这些API是PhoneGap提供...

    phonegap 桌面版6.3.0

    1. **跨平台开发**:PhoneGap支持Android、iOS、Windows Phone、BlackBerry等多个主流移动操作系统,使得开发者只需编写一次代码,就能在多个平台上运行。 2. **访问设备API**:PhoneGap提供了一系列API接口,...

    phonegap android demo

    PhoneGap Android Demo是一个基于PhoneGap框架的Android应用示例,旨在帮助开发者理解如何在Android平台上使用PhoneGap技术来构建跨平台的移动应用。PhoneGap是一个开源的开发框架,它允许开发者使用HTML、CSS和...

    phoneGAP2.9.1.zip

    PhoneGap的核心思想是将Web应用包装在原生的移动应用壳中,使得这些Web应用能够访问设备的功能,如摄像头、GPS、加速度计等,而无需编写原生代码。这个框架由Adobe公司维护,并且遵循Apache许可证。 在"phoneGAP...

    PhoneGap的API组件及使用方法

    **PhoneGap在Android中的使用方法** 1. **安装环境**: 首先,你需要安装Android Studio和Apache Cordova(PhoneGap的基础)。 2. **创建项目**: 使用`cordova create`命令创建一个新的PhoneGap项目,指定项目ID、...

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

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

    PhoneGap移动应用开发框架预研

    1.2.2 定位:作为跨平台的解决方案,PhoneGap定位在中间层,既不是完全的Web应用,也不是完全的原生应用。它将Web技术与设备的原生功能结合,提供了访问硬件设备(如摄像头、GPS、加速计等)的能力。 1.3 PhoneGap...

    跨平台的PhoneGap应用

    7. 如果在使用`phonegap.jar`类库时遇到问题,可以在项目的构建路径中添加该类库。具体操作是在项目上右键点击“Properties” -&gt; “Java Build Path” -&gt; “Libraries”,然后点击“Add JARs”,将项目的`libs`目录...

    phoneGap实现android平台应用

    9. **发布应用**:完成开发和测试后,使用PhoneGap Build服务或ADT将应用打包为APK,并提交到Google Play Store或其他应用市场。 10. **优化性能**:由于PhoneGap应用基于WebView,性能可能不如原生应用。可以通过...

    phonegap-build-maven-plugin-0.0.5.zip

    使用 Maven 插件,开发者可以设置配置参数,如 API 密钥、应用 ID、版本信息等,然后在执行特定的 Maven 目标时,插件会自动将应用打包并提交到 PhoneGap Build 服务进行编译。 另一方面,"stencil-core.zip" 提供...

    phoneGap deskTop win+mobile apk

    这个"phoneGap deskTop win+mobile apk"压缩包文件包含了PhoneGap Desktop应用以及适用于移动设备的APK安装包,旨在为开发者提供一套完整的开发和测试解决方案。 PhoneGap的核心原理是利用WebView组件,将Web应用...

    手机Web应用开发平台PhoneGap.zip

    因此,目前开发商可以只 编写一次应用程序,然后在7个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、bada、Winodws Phone以及Symbian。...

Global site tag (gtag.js) - Google Analytics