2015-11-15

【Android Studio】Genymotion 模擬器執行 Epson 範例 app,連接 TM-T70II 微型印表機列印單據

資料來源 ----
[GUIDE] Genymotion | Installing ARM Translation and GApps[Updated Nov.16]


Android Studio 附帶的模擬器並不支援連接 USB 裝置(請參考 Emulator Limitations) 所以要安裝另一套著名的模擬器 -- Genymotion(因為 Genymotion 需要在有安裝 VirtualBox 的環境下才能運行,所以您的電腦還需要安裝 VirtualBox),個人使用是免費的,不過要在 Genymotion 官網申請一個帳號才能下載。

由於 VirtualBox 的虛擬機都 x86 架構的,因此 Genymotion 的模擬器也是 x86 架構,但 Epson ePOS 的範例要在 ARMAndroid 裝置執行,所以我們還需在 Genymotion 加裝 Genymotion-ARM-Translation (這個網頁要往下捲,才會看到很多的下載點)。



要建立的模擬器 Android 版本應為 4.0 ~ 4.4.45.0 ~ 5.1.1
安裝並建立 Genymotion 模擬器,這段就不贅述了。

將載下來的 Genymotion-ARM-Translation_v1.1.zip 直接拖進 模擬器內,Genymotion 就會自行安裝了(注意! 不是以 VirtualBox 啟動模擬器,那樣 Genymotion-ARM-Translation_v1.1.zip 沒法拖進模擬器安裝)。

下載 Epson ePOS SDK for Android 並解壓縮,例如我解壓放在 D:\ 下,則解開的目錄為 D:\ePOS_SDK_Sample_Android\,其中的 ePOS2_Printer 資料夾就是我們要的範例程式。




 

Android Studio 編譯範例 app,並選擇在 Genymotion 模擬器執行,會看到如下畫面:



關閉 GenymotionGenymotion 模擬器,改開啟 VirtualBox

Epson TM-T70II 接上電腦並開啟電源,Windows 會顯示正在安裝驅動程式。



點選 Genymotion 所建立的模擬器(不要啟動)
--> 點擊圖示功能表 的 "設定值"
--> 點選 USB
--> 點擊右方的 "新增 USB 裝置" 圖示,可以看到 EPSON TM-T70II,將它加入





關閉 VirtualBox

保持 Epson TM-T70II 開機,然後 Genymotion 模擬器開機,會跳出如下的對話框,點擊 OK 鈕。




執行範例 app,會看到如下畫面:

這個範例 app 預設是經由網路連接 Epson 微型印表機的。但老灰鴨的 TM-T70II 只有 USB 接口
點擊最上面的 Discovery 鈕,可以看到 TM-T70II 的連接位置,點擊下圖圈起來的那段字串,程式會回到主畫面,並把這段字串帶回主畫面。




接著將印表機種類(Printer Series)選擇 TM-T70 Series,Lang 選擇 TAIWAN



分別按 Sample ReceiptSample Coupon 鈕列印,列印結果如下:
Receipt



Coupon



雖然 Epson SDK 內建列印條碼的功能,但解析度不夠,略嫌粗糙,無法符合列印 電子發票格式(參考該網頁附件,PDF 檔)的要求,建議還是利用 ZXing 產生條碼。

相關筆記 ----
Android Studio / AVD 附帶的模擬器的受限功能
利用 ZXing 生成 條碼 / QR code