[Android] Qt安卓教程(1): 從Qt5.1開始
系列教程傳送門:
第二篇:http://bbs.qter.org/forum.php?mod=viewthread&tid=563
第三篇:http://bbs.qter.org/forum.php?mod=viewthread&tid=918
第四篇:http://bbs.qter.org/forum.php?mod=viewthread&tid=1382
第五篇:http://bbs.qter.org/forum.php?mod=viewthread&tid=1664
第六篇:http://bbs.qter.org/forum.php?mod=viewthread&tid=2518
本系列教程主要講述與安卓移植版Qt的相關內容,如平臺特性、功能限制、特定使用者體驗和內容釋出等,其餘與Qt自身非平臺相關的內容不會作詳細講述,筆者預設童鞋們已經有一定的Qt功底。
另:請自備安卓機子一臺,不推薦用模擬器。
第一篇:從Qt5.1開始
1. 準備工作
站長yafei已經發過這個準備教程了,我這裡只簡單說明一下要點。(筆者使用的是Kubuntu 12.04,其它系統可能會有少許差異,有問題歡迎提問)
1.1 下載好android sdk和ndk,解壓即可;
1.2 下載好Qt5.1並安裝;
1.3 (注意!這個必須)下載安裝最新Qt Creator,版本2.8或以上;(過時)
(更新)新版本的Qt整合安裝包已經包含了版本大於2.8的creator
1.4 下載並配置好jdk和ant;
1.5 (Linux版請注意)android sdk自帶的adb可能沒有連線裝置的許可權,請把這個adb改為root屬主,用chmod u+s特殊授權,再增加普通使用者訪問許可權(777),這個步驟看不懂的童鞋請拿著Linux教程面壁去;
2. 開始動手
啟動creator,注意必須是版本大於等於2.8的,目前Qt5.1自帶的是2.7.2。
開啟creator後,先不要急著建專案,去選項看看Android相關配置有沒有問題,我這裡先貼上我自己的Linux版本配置:
然後確定編譯器、Qt版本和編譯打包套件的配置: (至少要有一個arm v7的套件在)
確定無誤後可以開始新建專案了,我這裡只選了arm v7 gcc 4.8的,x86可忽略(市面上幾乎沒有x86的手機賣,當然現在x86的電腦也可以裝安卓了)
建好專案後,這裡暫時不改原始碼,直接去“專案”選項卡
然後點“執行”(專案裡面的,不是左下角的)
開啟第二項“包配置”
選擇安卓目標sdk,這裡的sdk就是指安卓的sdk版本(必須大於等於10,這是Qt5的基本要求),圖中的“android-10”就代表android 2.3,這個需要在android的sdk裡面自行安裝
點左下角的錘子進行編譯
然後就可以選擇圖中的“從應用程式讀取資訊”,這個是必須步驟,這個步驟可以自動在apk中載入需要用到的Qt庫
簽名什麼的暫時不需要,如果是自己玩的話
開啟第三項“Deploy配置”,這裡童鞋們可以開啟版本低於2.8的creator,會發現這裡有很大的不同,特別是最下方的“Bundle Qt libraries in APK”,這個是把Qt庫打包進APK的選項,老的creator沒有這個功能,這就是為什麼我要求下載最新版本的creator了
接下來請連上手機,記得開啟手機的debug模式,點選左下角的綠色三角形,程式就在手機上執行了,如圖,hello world
把編譯好的apk拿出來,就可以直接給小夥伴們安裝了,不需要別的支援,讓他們驚呆一下吧。
3. 加工一下
開啟main.qml這個檔案,在第六行下面加一行,輸入 id:hello ,
然後把下面onclicked裡面的內容改為 hello.text = parent.width + " , " + parent.height
意思就是把hello world改為當前程式的佔用解析度
執行效果如下
說明了Qt for Android已經自帶有解析度自適應的能力,因為程式碼頭部寫的大小是360×360,而實際顯示是程式實際佔用的解析度。
能力有限請多多包涵,歡迎各種沒節操的批評。
BTW,目前還沒打算下一期寫什麼內容,童鞋們可以提個建議。
該文章原創於Qter開源社群(www.qter.org),作者Joey_Chan,轉載請註明出處!
相關文章
- [Android] Qt安卓教程(2):移植Qt到安卓AndroidQT安卓
- 微信小程式開發教程-從零開始(1)微信小程式
- flutter 從零開始-1Flutter
- QT開發快速入門-教程1:搭建QT開發環境QT開發環境
- 從零開始的Android新專案(1):架構搭建篇Android架構
- 微信小程式開發教程-從零開始(2)微信小程式
- 微信小程式開發教程-從零開始(3)微信小程式
- 從1開始的PHPStorm+Xdebug包搭建不包使用教程PHPORM
- 從零開始學習C++(1-1)C++
- Cordova快速開始(安卓篇)安卓
- 從零開始的Android新專案11 - 元件化實踐(1)Android元件化
- java從頭開始--物件導向1Java物件
- 安卓開發基礎教程(1):架構總覽安卓架構
- 從Android Studio 開始的ARCore之旅Android
- 如何從零開始整合DTM Android SDKAndroid
- 【從零開始學】如何在安卓平臺上實現定位?安卓
- 從零開始完成一個Android JNI開發Android
- Android開發之從零開始系列彙總Android
- 從零開始移植QT4.8.5之三--linux下交叉編譯QT執行庫QTLinux編譯
- 從零開始做Vue前端架構(1)Vue前端架構
- 易語言陣列 ,索引從 1 開始。陣列索引
- 1Android開始,讓工程跑起來Android
- Re:從零開始的Git詳細使用教程Git
- 從零開始構建Web應用-PART 1Web
- 從新建資料夾開始構建UtopiaEngine(1)
- 從-1開始實現一箇中介軟體
- 開發 React Native APP —— 從改造官方Demo開始(1)React NativeAPP
- 從零開始-打造一個JavaScript完整線上教程文件JavaScript
- Luatools新手必看:從下載開始的保姆級教程!
- 從WinMain開始AI
- 在安卓開發中開始應用NFC安卓
- 從頭開始,手寫android應用框架(一)Android框架
- Android從零開始:建立樣式和主題Android
- Android tinker熱修復——從執行demo開始Android
- [Android手機]教程:修改安卓手機…Android安卓
- 從零開始開發和搭建直播平臺-教程彙總篇
- 0基礎學GUI,先從基礎開始1GUI
- MMO伺服器從零開始(1) - Beacon Server伺服器Server