Windows下Qt 5.2 for Android開發入門
Qt 5.2 釋出了,支援 Android 平臺,太好了。
之前公司專案,為了移植一個依賴 Qt 的程式到安卓平臺上,我自己交叉編譯了 Qt Embedded 4.5.2,費了老大勁兒,還修改了原始碼(只把 QtCore、QtNetwork、QtXml、QtNetwork 編譯過了)。現在終於有官方版本了。
今天試驗了一下,在 Windows 7 下把開發環境搭建完成,跑了一個 helloAndroid 示例。
環境搭建其實很簡單,首先下載 Qt 5.2.0 for Android(Windows 32-bit) ,安裝,注意選中 Tools 裡面的 MinGW。安裝完成後開啟 Qt Creator(版本是 3.0.0 ),開啟“幫助”選單,選擇“索引”子選單,輸入 Android,選擇“Getting Started with Qt for Android”,裡面有詳細的步驟,指導我們完成接下來的操作。下圖是 Qt Creator裡的幫助:
我使用的 ndk 版本是 r8d ,到 這裡(點我)下載,zip包,解壓即可。
apache ant 是1.8.4,到官網(點我)下載,zip包,解壓即可。
jdk 是 6,到 oracle 官網(點我)下載,安裝包,跟著嚮導安裝即可。
Android SDK 安裝參考:《Qt on Android: Android SDK安裝 》。
安裝完成後需要設定一些環境變數:
- JAVA_HOME,我的是 C:\Program Files (x86)\Java\jdk1.6.0_18
- CLASSPATH,內容 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar
- 修改 Path 環境變數,新增 %JAVA_HOME%\bin
接下來需要在 Qt Creator 中針對 Android 做一些設定,開啟“工具”選單下的“選項”子選單。下圖是我的設定:
loc
其中 JDK location 是 Qt Creator 通過 JAVA_HOME 自己找到的。
看上面的圖片中有 AVD 裝置,是我自己建立的,通過 Qt Creator 可以啟動 Android AVD 管理器,建立自己想要的虛擬裝置。
完成了這些,就可以開始構建示例程式了。
新建專案,選擇 Qt Widget Application。嚮導會讓選擇平臺,如下圖:
我選擇了 Andorid for armeabi-v7a ,接下來就很簡單了,編碼,構建,執行,選擇目標裝置。
程式執行結果截圖:
針對一個專案,可以做一些設定,有構建的,有執行的,和其它版本 Qt Creator 類似,不同的是有一些 Android 相關的設定,比方說簽名、SDK 版本、Qt 庫的部署方式等,如下圖所示:
我連線上我的手機 XT882 ,執行時也可以找到裝置,選擇手機,啟動比虛擬機器快多了,OK ,GOOD。建議直接在真機上除錯。
好了,嚐鮮到此為止。進一步的開發可以參考 Qt 的文件。
美中不足的是,如果選擇 Bundle Qt libraries in APK ,那麼 APK 就會變得比較大,我的示例程式 APK 有 6MB,部署到模擬器後通過設定檢視,20MB。 Qt 提供了其它兩種部署方式,可以彌補這一缺點。除此之外,還有另一個途徑,自己編譯 Qt 原始碼,通過裁減來縮小 Qt 庫的體積,參考 Qt 5 For Android Building。
翻譯了大神 BogDan Vatra 的幾篇關於 Qt on Android 的文章(原出處 http://www.kdab.com/category/blogs/ ),列出來參考一下:
- Qt on Android Episode 1(翻譯)
- Qt on Android Episode 2(翻譯)
- Qt on Android Episode 3(翻譯)
- Qt on Android Episode 4(翻譯)
我的關於 Qt on Android 的系列文章:
相關文章
- QT開發快速入門-教程1:搭建QT開發環境QT開發環境
- Windows驅動開發入門Windows
- Android -- NDK開發入門Android
- 【Android開發入門教程】三.Activity入門指南!Android
- Android Things 開發入門Android
- QT入門QT
- Kinect for Windows SDK開發入門:Kinect FusionWindows
- Windows下Android開發環境配置WindowsAndroid開發環境
- Android開發入門之熟悉開發環境Android開發環境
- 【Android】1:Android APP開發入門篇AndroidAPP
- Charles(Windows/Android)入門使用WindowsAndroid
- QT快速入門QT
- Qt入門(11)——Qt外掛QT
- 如何在windows下發布QT應用程式(qt專案打包)WindowsQT
- c#入門-下載開發工具C#
- Android手機遊戲開發入門教程Android遊戲開發
- Qt入門(12)——Qt國際化QT
- Qt入門(13)——Qt的呼叫退出QT
- Qt入門(20)——Qt模組簡介QT
- Windows驅動開發入門 -- 理清基本概念Windows
- Arduino可穿戴開發入門教程Windows平臺下安裝Arduino IDEUIWindowsIDE
- Qt Quick 如何入門?QTUI
- Qt入門之概述QT
- 零基礎學Qt4程式設計:Qt4開發入門與提升QT程式設計
- Mac之Android Studio開發NDK入門MacAndroid
- 傻瓜式Android APP開發入門教程AndroidAPP
- Microsoft Windows Workflow Foundation 入門:開發人員演練ROSWindows
- [翻譯]Windows Exploit開發教程第十二章-EMET 5.2Windows
- Android開發知識:Dagger2入門Android
- 想學Android開發簡易入門容易上手Android
- 從 Android 到 React Native 開發(一、入門)AndroidReact Native
- 遊戲開發新手入門之Windows程式設計(轉)遊戲開發Windows程式設計
- linux下QT在windows下執行LinuxQTWindows
- 敏捷開發入門敏捷
- OpenGL開發入門
- QT開發QT
- 極簡 Node.js 入門 - 5.2 url & querystringNode.js
- Qt入門(9)——Qt中的執行緒支援QT執行緒