怎样快速移植安卓应用到BlackBerry 10

liuyaping1115 2012-12-13 05:57:49
加精
如果你已经听说过黑莓支持安卓转制了,那恭喜你,这周末(北京时间12月15日)100美金一个应用的活动也支持安卓的转制应用(网络应用移植活动详情)。移植安卓应用到黑莓的平台上除了可以扩大应用本身的影响,应用跨平台和增加应用的下载量之外,现在又多了个理由,那就是每上传一个应用就可以获取100美金的奖励。如果你没有听说过黑莓的Android Runtime,那也没关系,希望读完这篇文章你们可以很快的移植好安卓应用了

一.Android Runtime的介绍

黑莓的Android Runtime是基于安卓版本2.3.3 API 10(Gingerbread)而设计研发的。现支持黑莓PlayBook和10的机型,支持电话,邮件,日历和联系人等黑莓原生态应用。支持的功能有
1. GPU硬件加速器 - UI运行效率高
2. 视频/图片播放
3. 多触摸
4. 陀螺仪,指南针等Sensor
5. 网络
6. BlackBerry 10的键盘
7. 应用启动/最小化/提醒
8. /sdcard/->/accounts/1000/shared/misc/android/
9. 可启动黑莓系统自带的电话,邮件,前后摄像头,图片,视频,设置等
10.可打开.pdf,.doc,.xls,.ppt等文件格式
11.应用内付费
12.黑莓push服务

Android Runtime也不是对所有的硬件和API都支持的。硬件方面类似于蓝牙是不支持的。API软件方面除了只支持到2.3.3之外,对native的.so和第三方的API,类似于google地图API,是不支持的。那遇到应用内需要地图的地方该怎么办呢?需采用WebView的方式

二. 移植基础

申请黑莓的signing key,一般2-3个小时就会返回。具体步骤
这里

移植共有三种工具

1. 网页移植工具(Online Conversion Tool) - 最快捷的移植方式,不需要触碰源代码


第一行选择.apk所在的位置;第二行是本地android sdk的位置。这意味着本地是要下载android sdk的。不要误以为这就是个纯网页的形式。

如果没有问题,就可以点击repackage和签名就可以了。但大多数的情况是会有问题的。


警告会分5个等级,从1(轻微)到5(严重),应用如果只得到2以下的警报就可以正常移植了。2或2以上的警报被认为是不兼容不可移植的。但大多数情况下,即使有2或2以上的警告应用运行问题也不大。但网页去不再允许进行下一步了。

2. cmd工具

这种做法的好处在于不会受到警告的限制,即使有5的警告也可以顺利的打包签名在模拟器/真机上测试。主要共有三个步骤。我写了三个.bat的文件,大家可以借鉴

2.1. 环境设置

在环境变量里添加一个变量ANROID_HOME,将android sdk的路径设置上去,我的是“C:\Program Files(86)\Android\android-sdk\”,千万不要忘了两个“”。
添加 ANDRIOD_GENERATED,选择一个路径,生成的.bar文件都会放到这个文件夹里
下载工具 Command-line Tools

2.2 验证

创建一个android_verifier.bat文件,将下面的code考过去
@ECHO OFF
REM This is auto android repackaging tool
SET PATH=%PATH%;C:\Program Files (x86)\Research In Motion\CommandLineTools_1.3\blackberry.tools.SDK\bin;%ANDROID_HOME%;%ANDROID_GENERATED%
apk2barVerifier %1 %ANDROID_HOME%
保存文件,在cmd下运行时只需要提供.apk文件的绝对路径就好了。运行后会告诉你Manifest里有多少权限,有多少个警告,警告都是多少级的等等。

2.3. 打包

创建android_repackaging.bat文件,将下面的code考进去
@ECHO OFF
REM This is auto android repackaging tool
SET PATH=%PATH%;C:\Program Files (x86)\Research In Motion\CommandLineTools_1.3\blackberry.tools.SDK\bin;%ANDROID_HOME%;%ANDROID_GENERATED%
apk2bar %1 %ANDROID_HOME% -t %ANDROID_GENERATED%
保存文件,运行后在%ANDROID_GENERATED%路径下生成.bar文件。这是未经过签名的bar文件

2.4.下载模拟器

选择BB10的模拟器,还需下载VMWare 4.0(推荐)。加载完成后打开模拟器。
生成debug token
上传至模拟器上
将未签名的.bar文件load到模拟器上

2.5. 签名应用

创建android_sign.bat文件,将下面的code考进去
@ECHO OFF
REM This is auto android signing tool
SET PATH=%PATH%;C:\Program Files (x86)\Research In Motion\CommandLineTools_1.3\blackberry.tools.SDK\bin;%ANDROID_GENERATED%
batchbar-signer %1 "C:\Users\mzhou\Documents\signing tool\author.p12" <申请签名时你设置的密码> <注册签名时设置的密码> bbjamer %ANDROID_GENERATED%
一般我两个密码都是一个,这样不会记混。万一记错问题也太多了。有很多开发者有这个问题。所以切记自己的密码。

3.Eclipse Plugin

这一项应当是最显而易见的。对于许多安卓应用来讲,这是最普遍的做法。
3.1 下载ADT Plugin for Eclipse
3.2 在Eclipse里下载黑莓
plugin for ADT
编译时选择黑莓编译器来编译,就像选择不同的安卓的版本的编译器编译是一个道理。
3.3. 启动模拟器检查问题,道理和cmd里的部分原理是一样的,我就不做详细解释了。

三.界面改动建议
应用图标改为114x114
测试满屏,有些应用只占屏幕1/4。全触摸屏是1280x768,键盘机是720x720的。
去掉应用升级功能,因为升级一般都是去了安卓商店。升级只需要将更新的版本上传到BlackBerry World,系统会提醒应用升级的。所以不必担心
关于和版本号 - 替换安卓的字样,版本号希望从1.0开始

最好祝大家移植愉快,移植成功了或挣到钱了都和兄弟@bbjamer说一声.谢谢

...全文
3810 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
sandywin 2013-01-26
  • 打赏
  • 举报
回复
谢谢分享!
winjave 2012-12-21
  • 打赏
  • 举报
回复
学习下,虽然对黑莓平台无爱...还是了解下的好
007china 2012-12-20
  • 打赏
  • 举报
回复
这东东确实有用
hao12319870818 2012-12-19
  • 打赏
  • 举报
回复
谢谢楼主!
lsdm1026 2012-12-19
  • 打赏
  • 举报
回复
不错么,非常好,帮助很大。
l4kangaxx 2012-12-19
  • 打赏
  • 举报
回复
oho,不错么,非常针对目前的需求啊
LAONINGA098 2012-12-17
  • 打赏
  • 举报
回复
学习了,谢谢分享
a646458580 2012-12-17
  • 打赏
  • 举报
回复
学习了,谢谢楼主
next163 2012-12-16
  • 打赏
  • 举报
回复
想问一下那个.p12文件从哪儿来的,我注册了只收到一个csj文件
DHBInsideJob 2012-12-16
  • 打赏
  • 举报
回复
支持分享....
XuMengXian 2012-12-16
  • 打赏
  • 举报
回复
顶你 写的很好 学习了
  • 打赏
  • 举报
回复
小花小花 2012-12-16
  • 打赏
  • 举报
回复
wolaiye11111 2012-12-16
  • 打赏
  • 举报
回复
mbugaifc 2012-12-15
  • 打赏
  • 举报
回复
pengqian1984 2012-12-14
  • 打赏
  • 举报
回复
我是黑莓忠诚用户,谢谢各位辛勤劳动的同志们
abxd1234asdf 2012-12-14
  • 打赏
  • 举报
回复
hao
tnhutien 2012-12-14
  • 打赏
  • 举报
回复
学习了,谢谢分享
zhan750520 2012-12-14
  • 打赏
  • 举报
回复
学习。学习。
nettman 2012-12-14
  • 打赏
  • 举报
回复
感谢楼主分享
加载更多回复(16)

1,146

社区成员

发帖
与我相关
我的任务
社区描述
探讨BlackBerry智能手机开发相关的技术、软件、产品等话题。
社区管理员
  • BlackBerry
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧