Mac OS X 上的黑莓开发

2023-11-27

我最近开始为移动设备创建应用程序,并成功完成了 iPhone 的应用程序。我现在将注意力转向黑莓,但尚未找到令人信服的文章或网站来说明可以做到这一点,也找不到有关如何做到这一点的教程。可以在 Mac OS X 上开发 Blackberry 应用程序吗?如果是,我该怎么做?谁能帮我指出正确的方向,因为我只能使用 Mac,并且真的很想让这个项目上路。在此先感谢您的帮助。


UPDATE:

RIM 发布了用于 Blackberry 开发的 MacOS Eclipse 插件:http://na.blackberry.com/eng/developers/javaappdev/macosx.jsp

虽然没有内置模拟器,但该插件支持 Torch 9800 手持设备的 USB 系留设备调试。我打算买一个;不含合同的价格约为 499 美元。借助 Torch 和新插件,无需使用虚拟机即可进行 Blackberry 开发。 (最后!)

上一篇文章:

一旦设置完毕,在 MacOS 上构建就可以很好地工作。我对模拟器的运气不太好。总体而言,能够在 MacOS 中本机运行 Eclipse 并仅用于调试而转向 Windows VM 在我看来是一个巨大的胜利。

您可以获得 MacOS 版本的 preverify(有关详细信息,请参阅下面的链接)。我在 MacOS X 上使用 Eclipse 进行开发,并使用 Ant 构建 BB 应用程序。

这个博客非常棒,有许多可以帮助您入门的详细信息:http://www.azizuysal.com/2009/07/blackberry-development-on-mac-os-x.html(原始链接已失效。“wayback machine”为我们提供了原始文本内容,但图像和样式已经消失在时间的沙子中。仍然值得一读。)

棘手的部分是让模拟器工作。有一个基于 Wine 的解决方法,但在我的计算机上,虽然模拟器能够在 Wine 下运行,但 LCD 输出是混乱的。

目前,我从 Mac 构建 COD 文件,并且我的 Ant 构建过程将它们放入与 WinXP VM 共享的目录中。我可以在此虚拟机中独立运行模拟器。还可以通过在 WinXP 中安装 Eclipse 并将调试配置指向源目录来进行调试。

其实我还有一点魔力。我通过针对 1.5 进行编译,然后在预验证脚本之前将字节码转换为 1.3,从而启用了一些 Java 1.5 功能。 (Blackberry 只讲野蛮的 1.3 java,回想起 1992 年左右)。它不是灵丹妙药,因为某些功能仍然不起作用,但它确实减少了将所有内容都设为非类型化对象引用的需要。

最近,我一直在开发一个 x 平台框架,让我可以编写一次应用程序代码并针对 Android 和 Blackberry(两者都是 Java)进行构建。 Android 部分很简单。在黑莓上调试任何东西都太麻烦了。在 RIM 工作的人认为黑莓不需要保留异常堆栈跟踪,除非有一个 catch(Throwable),然后他们可以做一些奇怪的、非标准的和未记录的事情(捕获 Throwable 行为)weird)。我只是想出了一种方法,可以使用 JavaLoader.exe 获取堆栈跟踪,而无需闯入调试器,而且这几乎不值得。

另外,我现在使用针对 Android、Blackberry 和 Desktop 的单一代码库进行 x 平台开发。桌面非常适合测试应用程序功能,一旦功能在桌面“模拟器”(为调试游戏而构建的 Swing GUI)中运行,几乎不需要进行 Blackberry 设备上测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac OS X 上的黑莓开发 的相关文章

随机推荐

  • 为什么在 `array.length && ...` 的短路计算中呈现“0”

    目前 我看到这样的行为 render const list return div list length div List rendered div div 我的预期是在该条件下不会呈现任何内容 但会呈现字符串 0 字符串 0 是list
  • spring-mvc中如何传递参数来重定向页面

    我写了以下控制器 RequestMapping value logOut method RequestMethod GET public String logOut Model model RedirectAttributes redire
  • 检查在自定义 Chrome 选项卡中打开哪个网址

    chrome自定义选项卡中是否有类似于Webview的onPageStarted的功能 在 onNavigation 捆绑包始终为空 根据设计 Chrome 自定义选项卡不可能做到这一点 您可以知道用户已经导航 但无法知道他们去了哪里 看
  • 检测浏览器关闭/导航到其他页面并注销的最佳方法

    我正在 GWT 中编写一个应用程序 我需要检测用户何时离开我的应用程序或何时关闭浏览器窗口 onUnload 事件 并执行注销 会话失效和其他一些清理任务 注销操作由 servlet 执行 我目前正在通过挂钩 onUnload 事件并打开一
  • 检查 LatLngBounds.Builder 是否为空

    这是我的代码 LatLngBounds Builder builder new LatLngBounds Builder for int x firstVisibleItem x lt lastVisibleItem x builder i
  • 如何提取直接 Facebook 视频 url

    我正在尝试从 facebook 视频链接中提取 facebook 视频文件页面的 url 但我无法继续操作 例如 我的 Facebook 视频网址是 https www facebook com nerdandco videos 16621
  • 如何在 Woocommerce 中检查产品是否具有特定产品属性

    我想确定产品是否具有属性 例如 if product has attribute pa color do something 我怎样才能做到这一点 您只需使用WC Product method get attribute 这边走 If ne
  • 在 keras 中加载模型后的不同预测

    我在 Keras 中构建了一个序列模型 经过训练后它给了我很好的预测 但是当我保存然后加载模型时 我没有在同一数据集上获得相同的预测 为什么 请注意 我检查了模型的权重 它们以及模型的架构都是相同的 并使用 model summary 和
  • 使用 Java 邮件服务器进行测试

    我正在测试一个应用程序 该应用程序从邮箱中取出邮件 根据该邮件的内容执行某些操作 然后根据操作的结果发送响应邮件 我正在寻找一种为此应用程序编写测试的方法 理想情况下 我希望这些测试能够启动自己的邮件服务器 将我的测试电子邮件推送到该邮件服
  • 如何等待 Angular Google 地图将 getGMap 附加到控制对象

    我一直在尝试在google maps Map由创建的对象ui gmap google map指令来自Angular 谷歌地图库 我需要动态地执行此操作 因此 至少通过我的简短测试 似乎使用events上的参数ui gmap google m
  • ccAvenue 支付网关中 ios 9 中的安全错误

    在发布 iOS 9 之前 我将 ccAvenue paymeny 网关集成到我的 iOS 应用程序中 付款已成功转移到 iOS 8 中的商家帐户 当我在 iOS 9 中测试我的应用程序时 付款已转移到商家帐户 但显示安全错误 我也改变lib
  • 函数的返回类型是重整名称的一部分吗?

    假设我有两个具有相同参数类型和名称的函数 不在同一个程序中 std string foo int x return hello int foo int x return x 编译后它们会具有相同的损坏名称吗 返回类型是 C 中重整名称的一部
  • 如何从OpenStreetMap中找到路口?

    如何在OpenStreetMap中提取路口 我需要路口的经度和纬度 谢谢 曾经有过类似的问题here 没有直接的 API 调用来检索交集 但是您可以查询给定边界框中的所有方式 例如直接通过API或通过立交桥API 并查找由两种或多种方式共享
  • 仅从 ELF 二进制文件中提取我的函数名称

    我正在编写一个脚本 用于提取二进制文件中的所有函数 由用户编写 以下 shell 脚本提取我的函数名称以及一些以以下开头的库函数 readelf s a out gawk if 4 FUNC 3 0 7 13 8 main print b
  • php + gd 的图像比较

    使用 php 比较两个图像的最佳方法是什么图形绘制 GD 库 这是场景 我有一张图像 我想找到给定集合中哪张图像与其最相似 最相似的图像实际上是同一张图像 不是像素完美匹配 而是同一张图像 我在示例中戏剧化了两个图像与第一张图像之间的差异
  • 代理后面的Java应用程序在linux中使用http_proxy变量

    我正在考虑一个简单的Java应用程序 命令行 它连接到互联网来下载XML文件 问题是我的Ubuntu正在使用代理通过用户名和密码连接到互联网 通过http proxy http
  • Rabbit 消息侦听器执行失败,并且未设置 ErrorHandler。无法调用参数类型 = [class [B] 的目标方法,

    我正在使用 spring amqprabbitmq 并使用发送消息 Message message MessageBuilder withBody item toString getBytes setReplyTo importReply
  • 当 shell=True 时如何确定 subprocess.Popen() 失败

    Windows 版本的 Python 2 6 4 有什么方法可以确定使用 shell True 时 subprocess Popen 是否失败 shell False 时 Popen 成功失败 gt gt gt import subproc
  • 为什么 bad_alloc(const char*) 在 Visual C++ 2012 中被设为私有?

    我只是想使用 Visual Studio 2012 候选版本 C 编译一个更大的项目 该项目现在使用VS2010编译 我只是贪图 C 11 的东西 所以我尝试了 除了我自己可以解释的事情之外 该项目使用如下代码 ostringstream
  • Mac OS X 上的黑莓开发

    我最近开始为移动设备创建应用程序 并成功完成了 iPhone 的应用程序 我现在将注意力转向黑莓 但尚未找到令人信服的文章或网站来说明可以做到这一点 也找不到有关如何做到这一点的教程 可以在 Mac OS X 上开发 Blackberry