為BB 10轉制安卓應用 打包,簽名,安裝
轉換步驟概述
一 準備工作
建議下載JDK 1.7 Windows x86版本,例如 88.75 MB的jdk-7u17-windows-i586.exe 。
安裝JDK。
設定系統PATH路徑包含JAVA_HOME的bin目錄;
或者在命令列下執行(每次開啟DOS視窗都需要執行一次)
Set PATH="C:\ProgramFiles (x86)\Java\jdk1.7.0_17\bin";%PATH%
1.2 下載安裝AndroidSDK
建議下載32 bit的ADTBundle,大概405MB。AndroidSDK下載地址
解壓縮到C:\android\adt-bundle-windows-x86目錄(比如),下面有SDK Manager程式和sdk目錄。
執行SDKManager程式,選擇下載Android SDK Tools元件(大概9MB)。
1.3 下載Android/BlackBerry命令列轉換工具包
在BlackBerry網站下載Command-linetools for Android Apps,大概2.66MB。解壓縮到C:\android\blackberry.tools.SDK目錄(比如),下面有bin和lib目錄。
1.4 到黑莓官網申請應用簽名Key
到BlackBerry網站上申請簽名Key,免費申請。申請的時候,選擇For BlackBerryPlayBook OS and BlackBerry 10 and Higher,建議申請用英文填寫相關資訊,注意Company
收到兩封郵件後,下載兩個CSJ,放到Command-linetools的bin目錄下面,比如C:\android\blackberry.tools.SDK\bin目錄。
生成csk和p12檔案命令列1:blackberry-signer -csksetup -cskpass <你設定一個csk密碼>命令列2:blackberry-signer -register -csjpin <你申請csj時填寫的pin> -cskpass <你設定的csk密碼> <你申請到的csj檔名>
提示:對於Android應用轉制,只需要匯入一個RDK CSJ檔案。但是還是建議兩個csj檔案都匯入,那麼要匯入兩次。
命令列3:blackberry-keytool -genkeypair -keystore <你希望生成的p12檔名> -storepass<你設定一個p12檔案密碼> -dname ”cn=公司名” -alias author
1.5 將你的BlackBerry10手機設定為開發模式
在BlackBerry手機上,設定->安全和隱私->開發模式,選擇“使用開發模式”(注:首次在裝置上操作可能會要求你設定密碼)
1.6記下手機的IP地址
如果USB線連線到PC機上,手機的IP地址是169.254.0.1
如果是手機連線WiFi,在BlackBerry手機上,設定->關於->網路,檢視IPv4地址
PC上面可以PING通手機IP
二 應用轉換
在轉換工具包中有個”bin”資料夾,下面的所有操作都在這個檔案中操作,所以把你要操作的APK拷貝到這裡。
2.1 apk 轉 bar 命令列: apk2bar <你的apk名> <android SDK路徑>
結果:提示Info: Barsigned,在當前目錄下面多了個bar檔案,未簽名。
2.2 bar檔案簽名命令列1:
blackberry-signer-cskpass <你設定的csk密碼> -keystore<你生成的p12檔名> -storepass<你設定的p12檔案密碼> <你轉的bar檔名> RDK命令列2:
blackberry-signer -keystore <你生成的p12檔名> -storepass <你設定的p12檔案密碼> <你轉的bar檔名> author
結果:bar檔案更新,新加入了你的簽名。
2.3 安裝bar檔案到BlackBerry 10手機上命令列:
blackberry-deploy-installApp -password <你的裝置密碼> -device <裝置IP地址> -package <你的bar檔案>
結果:在BlackBerry手機螢幕上找到這個應用。
接下來點選執行,測試這個應用是否工作正常,比如螢幕大小尺寸,網路連線,功能是否正常等。
2.4根據需要調整應用,重複以上1-3的步驟打包測試
2.4.1 調整BlackBerry不支援的Android API
BlackBerry的Android應用支援大部分AndroidJava API,但是不支援某些特性和API,比如APK檔案中打包的C語言原生代碼,不支援藍芽和NFC等硬體。
不支援的特性,比如APK中打包的第三方原生代碼,以及不支援的藍芽和NFC硬體API,我們或者用Java來實現,或者就只能割捨這部分功能了,這都需要開發人員調整程式程式碼,測試。
2.4.2 應用圖示大小調整為114x 114畫素
BlackBerry的螢幕解析度很高,所以需要的應用圖示也要大一些,建議是採用114x114畫素的圖示。修改圖示後,修改版本號,重新打包APK,重新生成BAR檔案和簽名。
BlackBerry官方的安卓轉制指南
排錯Trouble shooting
提示1:在應用簽名的時候,沒有任何提示,簽名程式執行卡在那裡,幾分鐘後提示如下Error:Server returned HTTP response code: 502 for URL:http://www.rim.net/Websigner/servlet/RDK-Waterloo。
這可能是出國網路暫時故障,或者是簽名伺服器暫時故障,稍等個把小時再去嘗試。
提示2:一個金鑰,對一個apk檔案只能做一次簽名。如果再次簽名,將提示
Error: Code signing request failed becausethis version of the application or package has been previously signed. Pleaseincrement the version(s) and try signing again.
解決辦法:Android開發工具中開啟AndroidManifest.xml檔案,找到versionCode標籤,修改之,重新build一個APK檔案。參考
提示3:如果需要使用多臺機器用一個金鑰進行簽名,一個金鑰可以被多人在多臺機器上同時使用。
解決辦法:參考簽名金鑰備份方法進行備份和遷移。
提示4:目前Android應用轉制,貌似暫時不支援中文檔名,中文應用名稱(轉制應用安裝後,標題亂碼)。
解決辦法1:Android開發工具中,修改應用名稱為英文,升級版本,重新生成APK檔案並轉制。
提示5:安裝應用到手機上,提示result::failure881 required signatures missing (AUTHOR)
解決辦法:
一般是應用簽名問題,需要重新簽名;blackberry-signer-cskpass 簽名的時候,去掉最後一個引數RDK,重新簽名;在手機上安裝debugtoken,然後嘗試安裝執行這個應用。
2013年4月9日更新