问题的核心:如何把第三方类库jar包编译为可以安装的blackberry类库cod文件。
注:某些时候,没有第三方类库的源码,只有 jar包,不考虑将class文件反编译。
问题解决的最重要步骤:使用bb-ant-tools ant脚本工具把第三方类库jar包编译为可以安装的blackberry类库cod文件。
环境:blackberry_jde_pluginfull_1.1.1,内置的 net.rim.ejde.componentpack4.5.0_4.5.0.21。
------------------------------------------------------------------------------------------
第 一步:创建blackberry project,测试应用,发现module not found或者class not found错误。
启动ejde 1.1,创建blackberry project
项目名称 stockquote
创建目录 lib
下载ksoap midp jar文件ksoap-midp.zip,拷贝到 lib下面,重新命名为ksoapmidp.jar (去掉中间的-,改文件后缀zip为jar)
选择菜单 project -> java build path --> libraries --> add jars
选择项目stockquote,选择目录lib,选择文件 ksoapmidp.jar
点击eclipse菜单 run --> run configurations...
新建一个blackberry simulator配置,在栏目projects里面勾上stockquote项目,在simulator栏目里面 勾上 "launch mobile data system connection service (mds-cs) with simulator“
点击run按钮
点击模拟器里面的stockquote图标,运行报错
jvm error 104
uncaught runtimeexception
error starting stockquote: module 'ksoapmidp" not found.
模拟器 选择菜单 simulator --> usb cable connected
在dos窗口下面执行命令 javaloader -u dir > a.txt
发现模拟器里面的module只有stockquote,没有ksoapmidp
name version size created
--------------------------------------------- --------------- -------- ------------------------
...
stockquote 1.0.0 2268 wed feb 10 12:50:52 2010
------------------------------------------------------------------------------------------
第 二步:preverify 第三方类库
如果不做preverify ,后面执行ant作业的时候 偶尔出现错误:[rapc] org.ksoap.classmap: error!: missing stack map at label: 59
参考:
拷贝 ksoapmidp.jar 到c:\temp目录
set jde=c:\tools\blackberry_jde_pluginfull_1.1.1\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.21\components
set path=%jde%\bin;%path%
cd c:\temp
preverify -verbose -d . -classpath %jde%\lib\net_rim_api.jar ksoapmidp.jar
------------------------------------------------------------------------------------------
第 三步:使用bb-ant-tools ant脚本工具把第三方类库jar包编译为可以安装的blackberry类库cod文件
下载:bb-ant-tools
点击downloads按钮
例如:
下 载:apache ant
例如:
拷 贝bb-ant-tools.jar 到 c:\tools\apache-ant-1.8.0\lib
在c:\temp目录下面 编写一个build.xml文件
注意:
1)destdir="c:\temp"
这个目录c:\temp 必须是存在的目录,否则ant执行的时候保持 build.xml:14: destdir must be a directory
2)
set ant_home=c:\tools\apache-ant-1.8.0
set java_home=c:\tools\jdk1.6.0_17
set path=%ant_home%\bin;%path%
set jde=c:\tools\blackberry_jde_pluginfull_1.1.1\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.21\components
set path=%jde%\bin;%path%
cd c:\temp
ant
提示:
[rapc] c:\temp\ksoapmidp.jar(org/kxml/parser/abstractxmlparser.class):0: warning!: local variable(s) { local#2 } initialized but not used in: org.kxml.pars
er.abstractxmlparser.readtree(vector)
[rapc] populating
[rapc] no errors.
build successful
total time: 7 seconds
------------------------------------------------------------------------------------------
第 四步:把生成的module ksoapmidp手工安装到模拟器里面,测试
模拟器 选择菜单 simulator --> usb cable connected
在dos窗口下面执行命令 javaloader -u load ksoapmidp.jad
提示:
rim wireless handheld java loader
欧洲杯足彩官网 copyright 2001-2007 research in motion limited
connected
loading ksoapmidp.jad done
27544 bytes sent at ~220352 bps
disconnected
在模拟器里面可以看到ksoapmidp的应用
或者是
javaloader -u dir也可以看到
现在可以在模拟器里面点击stockquote图标运行这个需要ksoapmidp类库支撑的程序了。
--------------------------------------------
第五步a:把第三方类库和应用程序移动打包为 alx格式,将来可以通过桌面管理器或者bes push发布。
把c:\temp\下面的所有文件拷贝到c:\bb.dev\workspace.mywork\stockquote\deliverables \4.5.0 下面
编辑blackberry_app_descriptor.xml,选择build栏目,勾上"generate .alx file(desktop deployment/bes push)"
选择 eclipse菜单 project -> blackberry -> package project(s)
编辑生成的alx文件,
修改
stockquote.cod
为
ksoapmidp.cod
stockquote.cod
--------------------------------------------
第五步b:把第三方类库和应用程序移动打包 jad格式,将来可以通过ota方式发布。
把c:\temp\下面的所有文件拷贝到c:\bb.dev\workspace.mywork \stockquote\deliverables\4.5.0 下面
选择 eclipse菜单 project -> blackberry -> package project(s)
编辑生成的jad文件
jdkhome="${javahome}"
destdir="c:\temp"
output="ksoapmidp"
quiet="false">
title="ksoapmidp"
vendor="ksoap porject"
version="1.20"
description="ksoapmidp library"
arguments=""
systemmodule="false"
runonstartup="false"
startuptier="7"
ribbonposition="0"
icon="">
相关推荐
dbcp、c3p0、druid 第三方类库的jar包 。dbcp、c3p0、druid 第三方类库的jar包
java 不用第三方类库解码编码xml,验证可用
支付宝、微信支付所需要的第三方类库包目录(支付宝、微信支付所需要的第三方类库vendor)
必须知道的11个java第三方类库必须知道的11个java第三方类库
metartc3.0的android/linxu/windows的 第三方类库的二进制文件 安卓系统包含两个abi:arm64-v8a和x86_64 windows系统为msvc2019 64位 linux系统为64位
包含众多第三方类库,一些实用的类方法,使用简单,齐全。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
2、给第三方类库sdk写上命名空间,命名空间为该类库的文件夹对应的名字 3、在composer.json文件中添加需要加载的第三方类库 4、打开cmd,进入到项目根目录,使用composer命令加载第三方类库,执行composer dump-...
hibernate第三方类库,有dom4j-1.6.1.jar,log4j-1.2.8.jar,antlr-2.7.6.jar
当前文件为beanutils的类库jar包和源码压缩包,该工具类可用于项目中对数据库的调用!
c# 利用npoi 第三方类库写 excel 文件,避免 微软办公软件的尴尬。。
计算器开发,基于java的第三方类库
mnnetwork第三方类库,非常好用的网络第三方类库
二维码开发文件,用这个东西可以进行苹果开发中的二维码操作,非常的简单快捷的第三方类库
struts2 hibernate3.x sping 用到的所有类库 jar包,本人精心整理的 s2sh开发用到的jar包。
java后台开发常用的类库jar包,为了方便大家查找下载,免去网上到处乱找
实现抽屉效果的第三方\类库...忘采纳引用
在ios开发中,除了使用自带的例如sqlite3_open这类自带的方法使用数据库,还可以使用这个第三方类库
ios~demo,实现侧拉栏抽屉效果所需要的第三方类库源码
十分有用的一个类库!!没分了,不敢独享,拿出来大家用。
windows平台下使用qt开发串口调试助手所需要的第三方类库,包含四个文件,qextserialbase.h qextserialbase.cpp win_qextserialport.h win_qextserialport.cpp