美国西部时间18号早上,也就是我们的19号凌晨,BlackBerry DevCon活动隆重举行,PlayBook 2.0开发测试版随之发布。PlayBook 2.0的一个重要功能就是支持Android应用。那么,如何将Android应用移植到PlayBook上呢?我自己测试了一下,成功在 PlayBook上运行Android应用,下面我们来看看具体的方法。

因为PlayBook 2.0上带有一个Android Player的组件,Android应用只需要做一个简单的转换,转换成PlayBook的bar文件,就可以在PlayBook上运行了。有关Android应用转换成PlayBook应用的官方网页如下:

https://bdsc.webapps.blackberry.com/android/

从上面的网页中可以了解到,将Android应用转换成PlayBook的bar文件有三种方法:

  1. 通过网页应用在线转换
  2. 通过Eclipse Plug-in在Eclipse环境中转换
  3. 使用命令行工具进行转换

其中通过网页在线转换最简单,下面就讲讲这种方法的具体准备工作和转换过程。

1.    Android SDK的准备

转换过程需要Android SDK的支持,需要提前安装好Android SDK,有关Android SDK的安装请参看相关文章。

2.    PlayBook 2.0 的准备

为了最终测试转换的应用,得有个PlayBook 2.0环境,如果你有一个PlayBook在手上,你可以到以下网站注册,升级PlayBook的操作系统到2.0版本。

https://bdsc.webapps.blackberry.com/android/beta/bbtablet20/register/

注册完等一段时间(按官方说法是一个小时以内),在PlayBook上检查软件升级(Software Update)可以开始升级PlayBook操作系统。具体操作在上面的网站中有指引。

如果你没有PlayBook在手上,只能通过模拟器测试了,在以下网址中点击Simulator可以下载一个PlayBook模拟器:

https://bdsc.webapps.blackberry.com/android/tool/

3.    申请签名密钥

在Android应用的转换过程中需要对应用进行签名,而应用签名需要一个签名密钥。所以我们需要到BlackBerry官网上申请一个签名密钥。

有关PlayBook签名密钥的申请在BlackBerry官网上专门有一篇文章进行介绍,请参考:

https://bdsc.webapps.blackberry.com/android/documentation/request_a_code_signing_key_1767016_11.html

大概过程如下:

先去下面的网站填写申请

https://bdsc.webapps.blackberry.com/android/signingkey

需要填写姓名,公司名等基本信息,还需要填写一个邮件地址和一个PIN码,这两个比较关键,最终签名密钥会发送到填写的邮件地址上,安装签名时需要用到PIN码。注意这里的PIN码和手机或者是PlayBook的PIN码都没有关系,你自己填写一个6到10位的数字就行,如1234567890,填完一定要记住,后面需要使用的.

然后你就会收到带有签名密钥的邮件了,里面有两个csj文件:

RIM Development Key (RDK)

Berry PlayBook debug token (PBDT)

之前的做法是将csj文件导入到PlayBook开发环境中生成p12密钥文件,然后就在PlayBook开发环境中直接使用签名工具进行签名。现在有了在线工具就可以直接在网页上使用上面的csj文件了。将两个csj文件保存下来,一会需要使用到。

4.    第一次转换

准备好签名密钥后就可以到网站上开始转换Android 的apk文件了,因为第一次转换的时候需要设置签名密钥,所以第一次签名的过程有点特殊。具体过程如下:

通过浏览器打开以下网页:

https://bdsc.webapps.blackberry.com/android/bpaa/

打开后出现欢迎页面如下,点击“Go>>”到下一步:

然后填写你的邮件地址,并选择“I already have BlackBerry Tablet OS Signing Keys”和“I have rad and agree to the RIM SDK License Agreement”两项,就是告诉服务器你已经申请了签名密钥。注意不要选择“I have already configured my computer for signing”一项,这样才会开始签名密钥的设置页面。当你第一次设置成功了,后面再进行签名就可以选择这项了。

选择后点击“Next”

然后会提示后续过程需要一些授权,需要你点击“Set Applet Permissions”按钮进行授权。授权后点击“Next”。

进一步需要对你的apk文件进行校验,需要选择准备转换的apk文件和Android SDK的目录,选择完了以后点击“Start Test”按钮进行校验。

如果校验成功的话会提示“Your app is compatible with the BlackBerry Runtime for Android Apps”,就是说你的Android应用和PlayBook上的Android 运行环境兼容。

成功后点击“Repackage & Submit”按钮进行转换。

然后进入关键的一步,因为签名密钥没有配置,这里系统会提示对签名密钥进行配置。

需要配置的包括:

  1. RIM Development Key .csj文件

这个文件在签名密钥的邮件中可以找到

  1. BlackBerry PlayBook debug token .csj文件

这个文件在签名密钥的邮件中可以找到

  1. keyStore密码

设置本地证书存储空间的密码,按自己喜好设置一个密码就行,注意需要输入两遍

  1. CSK密码

CSK密码,同样按自己喜好设置一个,也是需要输入两遍

  1. 注册时填写的PIN码

这里要填写的就是申请密钥是填写的那个6到10位数字的PIN码。

  1. 证书路径,文件名

指定一个路径和文件名,最终生成的相关信息会保持在这个文件中。

  1. 公司名

填写自己的公司名,似乎服务器并没有对公司名做严格校验,填写公司拼音就可以,关键是要记住这个名字,以后转换时需要用到。

填写完后点击“Configure”就可以了。

配置完成后最终服务器会将指定的apk文件转换成bar文件,并对bar文件进行签名。所生成的文件在结果页面中会显示出来,如下图:

这样就完成了第一次转换工作,同时完成了签名密钥的配置工作,后续的转换工作就不用这么复杂了。

5.    后续应用转换

在后续的Android应用转换过程中,不需要再次配置签名密钥,可以直接使用第一次转换时生成的证书文件。

进行转换的网址不变,还是

https://bdsc.webapps.blackberry.com/android/bpaa/

不过到“Agree to License”页面时需要选择“I have already configured my computer for signing”一项,告诉服务器当前机器上已经配置过签名密钥了,如下图:

转换过程中同样需要选择本地的apk文件,然后对apk文件进行校验,校验过程和第一次转换相同。

在应用校验成功后,在“Packaging and Signing”页面中需要选择本地的证书文件并填写对于密码。

这里的证书文件路径就是第一次转换时设置的证书文件路径,

紧接着需要输入KeyStore密码和CSK密码,就是第一次转换时设置的两个密码。

最后一个就是公司名,也是第一次转换时设置的。

填写完成后点击“sign”按钮就可以进行在线转换,转换成功的话页面顶部会显示绿色的成功消息,大意是bar文件已经生成并进行了签名。

结果如下图:

下一步又是结果页面了,会告诉你生成的bar文件在哪里。

6.    应用测试

应用转换后就可以在PlayBook上测试了,测试的基本过程是先启动PlayBook的开发调试模式,然后记录PlayBook的IP地址,最后通过BlackBerry-Deploy工具将所转换的bar文件上传到PlayBook上测试。

当然,将bar文件上传到PlayBook上进行测试的方法有很多,这里就不详细讲述了,对这一步有疑问的同学们可以参考其它文章。

最后就不上图了,我做的测试的Android应用字太小,照相出来看不出什么效果。大家有条件的自己试一试吧。

将 Android 应用移植到 BlackBerry PlayBook 上的更多相关文章

  1. 使用命令行工具将Android应用转换成BlackBerry PlayBook应用

    昨天写了篇文章关于Android应用转换的,通过BlackBerry的在线转换工具将Android应用转换成BlackBerry PlayBook应用.有网友反映说方法有点麻烦,所以今天补上新的转换方 ...

  2. 如何快速把安卓应用移植到BlackBerry 10上

    如何快速把安卓应用移植到BlackBerry 10上 相关博客: BlackBerry相关文档 http://developer.blackberry.com/android/documentatio ...

  3. Android系统移植(一)-让android系统在目标平台上运行起来

    编号),文件系统采用ubifs格式,控制台设备为ttyS1,波特率为115200 启动的第一个应用程序是/init (6)确保控制台的设置和硬件保持一致,如:硬件上串口用的是UART1,则内核启动参数 ...

  4. 第一章 Android系统移植与驱动开发概述

    本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...

  5. 浅谈Android系统移植、Linux设备驱动

    一.Android系统架构 第一层:Linux内核 包括驱动程序,管理内存.进程.电源等资源的程序 第二层:C/C++代码库 包括Linux的.so文件以及嵌入到APK程序中的NDK代码 第三层:An ...

  6. 第一章Android系统移植与驱动开发概述--读书笔记

    以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...

  7. Android——程序移植 相关知识总结贴

    android 移植笔记有感 http://www.apkbus.com/android-11842-1-1.html   Android振动器系统结构和移植和调试 http://www.apkbus ...

  8. 详细介绍android rom移植知识普及

    详细介绍android rom移植知识普及 最近接到很多兄弟们的求助,也回答过无数个和下面这个问题类似的问题: 如何编译android 原生代码得到一个rom,然后跑到某某手机上. 鉴于很多兄弟对这块 ...

  9. NDK Android* 应用移植方法

    概述 本指南用于帮助开发者将现有的基于 ARM* 的 NDK 应用移植到 x86.假设您已经拥有一个正常执行的应用,须要知道怎样可以高速让 x86 设备在 Android* Market 中找到您的应 ...

随机推荐

  1. Fisher information matrix笔记

    在看FK论文时,fisher information matrix是必须理解的. 从维基百科查阅到,Fisher information matrix是用利用最大似然函数估计来计算方差矩阵. 来源于: ...

  2. 【quick-cocos2d-x】Lua 语言基础

    版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...

  3. Chapter11:关联容器

    当用decltype来获得一个函数指针类型时,必须加上一个*来指出我们要使用一个给定函数类型的指针.decltype<CompareIsbn>*. map<string, int&g ...

  4. 关系数据库&&NoSQL数据库

    在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发.因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库. ...

  5. 时间日期Date类型

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  6. 使用VMware10虚拟机安装Linux系统(能力工场)

    作为IT从业人员,我们经常使用到Linux系统,但是实际开发过程我们通常在Windows平台操作,为了满足工作需要,这个时候我们通常在windows平台安装虚拟机,并在其上建立linux系统,这样就极 ...

  7. [转]Numpy中矩阵对象(matrix)

    numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中. class numpy.matr ...

  8. Hadoop MapReduce概念学习系列之mr程序组件全貌(二十)

    其实啊,spilt是,控制Apache Hadoop Mapreduce的map并发任务数,详细见http://www.cnblogs.com/zlslch/p/5713652.html map,是m ...

  9. <一道题>求1 + 2! + 3! + .... + N!

    一道小题,╮(╯▽╰)╭ #include <stdio.h> /*jie cheng * * 1 + 2! + 3! + ... + N! * * */ int factorial(in ...

  10. HTTP中缓存相关

    1.客户端如何区分缓存命中和未命中 两种情况下,返回的状态码都是200,客户端有一个方法可以判断,就是使用Date首部,将Date首部与当前时间进行比较,如果响应中时间日期值比较早,客户端可以认为这是 ...