使用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
至此问题已经搞定!
折腾死我了,铭刻下来,以众示之!
分享到:
相关推荐
2. **配置应用信息**:在PhoneGap Build中配置应用的基本信息,例如应用图标、启动页等。这些设置会影响最终生成的应用外观。 3. **生成安装包**:完成配置后,点击“Build”按钮开始构建过程。构建完成后,你可以...
这样,图片就被安全地保存在应用内部,不会被其他应用访问。 6. **权限管理**:在AndroidManifest.xml中,必须声明`<uses-permission>`元素以获取使用摄像头和写入外部存储的权限。对于Android 6.0及以上版本,还...
这个链接可能是开发者在移植过程中遵循的指南,里面详细介绍了如何将基于PhoneGap的应用程序适配到BlackBerry设备上。 **标签解析:** 标签"oPath BlackBerry PhoneGap"进一步强调了这个压缩包的内容与这三个...
这个“基于PhoneGap的跨平台应用的源码”提供了在寒假期间创建的一个项目实例,它展示了如何利用PhoneGap的特性来开发一款能够运行在不同操作系统上的应用。 PhoneGap的核心是它能够将Web技术转化为可在移动设备上...
3. **联系人**:提供读取、编辑和管理设备联系人的能力,方便在应用中实现通讯录相关的功能。 4. **GPS和地理位置服务**:获取用户的当前位置,实现地图导航、位置相关推荐等功能。 5. **媒体**:录音和播放音频、...
该Simple已经实现了GPS定位,重力感应,声音调用,振动,摄像头调用... PhoneGap是一款开源的手机应用开发平台,它... 目前,PhoneGap已实现对iPhone/ipad、Android、Symbian,Palm、黑莓各版本绝大部分功能的支持.
在"我的第一个PhoneGap应用"中,你可能会学习到如何配置PhoneGap项目,这包括编辑配置文件`config.xml`,在这里你可以定义应用的名称、版本、图标和其他元数据。你还会学习到如何添加设备API,这些API是PhoneGap提供...
1. **跨平台开发**:PhoneGap支持Android、iOS、Windows Phone、BlackBerry等多个主流移动操作系统,使得开发者只需编写一次代码,就能在多个平台上运行。 2. **访问设备API**:PhoneGap提供了一系列API接口,...
PhoneGap Android Demo是一个基于PhoneGap框架的Android应用示例,旨在帮助开发者理解如何在Android平台上使用PhoneGap技术来构建跨平台的移动应用。PhoneGap是一个开源的开发框架,它允许开发者使用HTML、CSS和...
PhoneGap的核心思想是将Web应用包装在原生的移动应用壳中,使得这些Web应用能够访问设备的功能,如摄像头、GPS、加速度计等,而无需编写原生代码。这个框架由Adobe公司维护,并且遵循Apache许可证。 在"phoneGAP...
**PhoneGap在Android中的使用方法** 1. **安装环境**: 首先,你需要安装Android Studio和Apache Cordova(PhoneGap的基础)。 2. **创建项目**: 使用`cordova create`命令创建一个新的PhoneGap项目,指定项目ID、...
html5+phonegap跨平台移动应用开发
1.2.2 定位:作为跨平台的解决方案,PhoneGap定位在中间层,既不是完全的Web应用,也不是完全的原生应用。它将Web技术与设备的原生功能结合,提供了访问硬件设备(如摄像头、GPS、加速计等)的能力。 1.3 PhoneGap...
7. 如果在使用`phonegap.jar`类库时遇到问题,可以在项目的构建路径中添加该类库。具体操作是在项目上右键点击“Properties” -> “Java Build Path” -> “Libraries”,然后点击“Add JARs”,将项目的`libs`目录...
9. **发布应用**:完成开发和测试后,使用PhoneGap Build服务或ADT将应用打包为APK,并提交到Google Play Store或其他应用市场。 10. **优化性能**:由于PhoneGap应用基于WebView,性能可能不如原生应用。可以通过...
使用 Maven 插件,开发者可以设置配置参数,如 API 密钥、应用 ID、版本信息等,然后在执行特定的 Maven 目标时,插件会自动将应用打包并提交到 PhoneGap Build 服务进行编译。 另一方面,"stencil-core.zip" 提供...
这个"phoneGap deskTop win+mobile apk"压缩包文件包含了PhoneGap Desktop应用以及适用于移动设备的APK安装包,旨在为开发者提供一套完整的开发和测试解决方案。 PhoneGap的核心原理是利用WebView组件,将Web应用...
因此,目前开发商可以只 编写一次应用程序,然后在7个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、bada、Winodws Phone以及Symbian。...