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 上的黑莓开发 的相关文章

  • NSPopUpButton、绑定和缩短的寿命

    我试图了解使用 NSPopUpButton 是多么困难 它无疑是 Cocoa 中最难编程的用户元素 至少就我而言是这样 我想到的用例如下 我有一个名为 Port 的类 代表串行端口 属性中有一个名称字段 在 NSPopUpButton 中
  • 如何使用 java 应用程序查看 Mac 操作系统中安装的软件?

    我正在编写一个程序 列出我的 mac 中安装的所有软件 我在哪里可以找到这些信息 谢谢 您可以致电lsregister dump获取在 Launch Services 中注册的所有应用程序的列表 不过 输出需要进行解析 每个记录都有一个pa
  • Mac:将按键事件发送到后台窗口

    我在用石英活动服务 https developer apple com library mac documentation Carbon Reference QuartzEventServicesRef Reference referenc
  • 使用种子值生成 AES 密钥

    如何生成具有种子值的 AES 密钥 以便每当我生成具有相同种子值的密钥时 我都能够获得相同的 AES 密钥 我想为我的 Blackberry Pearl 8100 设备生成此密钥 我无法使用 AESKey keyData 生成 AES 密钥
  • 使用 NSURLSession 进行单元测试

    我想为使用共享的方法编写单元测试NSURLSession 特别是 NSURLSessionDataTask下载数据 基本上 我希望目标方法能够接收模拟响应 数据 而不需要互联网连接 模拟这些组件的不太不显眼的方式是什么 我正在考虑填充NSU
  • 检查 u 键是否被按下 Swift Cocoa [重复]

    这个问题在这里已经有答案了 我正在尝试检测是否U键是否被按下 如果是的话应该print BUT BUT 但我不确定如何检查不同的按键 因为按键的文档非常糟糕 我找到了带有键码的答案 但它们仅适用于 QWERTY 键盘 视图控制器 swift
  • 无法通过 pip 安装 xmlsec

    我在运行时收到以下信息pip install xmlsec在 macOS Big Sur 11 3 1 中 Building wheels for collected packages xmlsec Building wheel for x
  • NSComboBox:如何告诉用户输入了不在弹出列表中的信息并读取它

    我有一个 NSComboBox 它有一个符合 NSComboBox 数据源和委托的单独类 如果用户在组合框中键入的文本与弹出列表中的一项不匹配 我如何收到用户已键入内容的通知并读取用户键入的值 目前我正在实现委托方法 void comboB
  • 为什么 NSToolbarItem 自动被禁用?

    我的 Mac 幻灯片应用程序工具栏中的按钮有点问题 我希望在没有活动幻灯片时禁用这些按钮 在有活动幻灯片时启用这些按钮 为了实现这一点 我设置了按钮isEnabled财产给false在开始时 我已经尝试过 Interface Builder
  • 更新 Mac OS 10.7 的 grep

    我想将 Mac 上的 grep 更新到比 Mac OS 10 7 2 附带的 2 5 1 更新的版本 我的问题是 为 Mac 更新 grep 或任何类似程序 的最佳方法是什么 我可以使用 Fink 或 MacPorts 安装新版本并设置路径
  • 有没有办法在 OSX 中安装 gcc 而无需安装 Xcode?

    我用谷歌搜索了一下 似乎没有办法在 OS X 上安装 gcc 而不安装 Xcode 至少需要 1 5GB 的空间 我需要的只是 gcc 而不是 Xcode 附带的其他垃圾 此时 我将采用任何其他类型的 C 编译器 我知道我可以简单地安装 X
  • 如何在 OS X 上安装 Intel TBB?

    如何在 OS X 10 6 上正确安装开源版本的英特尔线程构建模块 TBB 开源版本似乎没有正确的安装脚本 http www threadingbuildingblocks org ver php fid 154 http www thre
  • 为什么 OS X 和 Linux 之间的 UTF-8 文本排序顺序不同?

    我有一个包含 UTF 8 编码文本行的文本文件 mac os x cat unsorted txt foo foo 津 如果它有助于重现问题 这里是文件中确切字节的校验和和转储 以及如何自己生成文件 在 Linux 上 使用base64 d
  • Python glob,操作系统,相对路径,将文件名放入列表中[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个目录中所有文件的列表 其中文件名以 root 结尾 在阅读了论坛中的一些文章后 我尝试使用 glob 和 os listdir 的基本策略 但我都遇到了麻烦 首先 当我使用 import glo
  • window.speechSynthesis.getVoices() 在 macOS safari 15.4 上返回空数组

    功能window speechSynthesis getVoices 在我的浏览器 macOS 12 3 1 Safari 15 4 上返回一个空数组 在以前的版本 Safari 15 3 macOs 12 2 上 该函数按照预期返回一个包
  • tmux 标题字符串不执行 shell 命令

    我的中有以下几行 tmux conf set option g set titles on set option g set titles string whoami H PWD S W F I P 这在过去是有效的 但升级到 2 0 后
  • 如何在Mac上启动Syslogd服务器以接受远程日志记录消息?

    有人知道如何在 Mac 上启动 Syslogd 服务器来接受远程日志记录消息吗 我启动了 Syslogd 但似乎它不接受远程消息 如果我执行 netstat an 看起来 udp 端口 514 正在侦听 但是 如果我使用 nmap 从笔记本
  • excel 2010刷新BackgroundQuery中运行时错误1004

    我正在尝试用 vba 编写一个脚本 用于将多个文本文件导入 Excel 一张纸 然后将它们绘制在一张图表上 我面临一个问题刷新后台查询命令并出现 1004 运行时错误 我怎样才能解决它 谢谢 埃亚勒 这是我的代码 Sub fring1 Di
  • QFileSystemModel setRootPath

    我正在尝试创建一个 Qt 应用程序来显示文件夹 Mac OS 中的 Users 文件夹 的内容 这是代码 QFileSystemModel dirModel new QFileSystemModel dirModel gt setRootP
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置

随机推荐

  • 为什么在 `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