[Android] Qt安卓教程(2):移植Qt到安卓
系列教程主要講述與安卓移植版Qt的相關內容,如平臺特性、功能限制、特定使用者體驗和內容釋出等,其餘與Qt自身非平臺相關的內容不會作詳細講述,筆者預設童鞋們已經有一定的Qt功底。
另:請自備安卓機子一臺,不推薦用模擬器。
第二篇:移植Qt到安卓
1. 直接移植Qt自帶的例子
首先開啟安裝Qt的目錄,再進入desktop版Qt的庫目錄(我這個因為是Linux所以顯示的是gcc版,win的應該顯示mingw或vs2010),找到examples資料夾——quick資料夾——demo資料夾——samegame資料夾;
這時可以先把samegame.qmlproject這個檔案拖進creator裡面試試看效果,一個簡單小遊戲,而且支援兩人一起玩;
現在開始移植工作;
建立一個Qt安卓專案(QT QUICK 2),先不要改任何程式碼,試試看能不能在手機上執行,不知道怎麼執行的請看第一篇;
回到剛才的samegame資料夾,把samegame.qml 、setting.js和content資料夾複製到剛剛建立的新專案的qml資料夾內,這時資料夾內應該有這麼幾個檔案:
現在進入main.cpp檔案,把第九行的main.qml改成samegame.qml,儲存;
然後進入.pro檔案,新增一行: QT += quick multimedia sql , 儲存後編譯;
去到 專案————執行————包配置,點“從應用程式讀取資訊”,然後確保sql模組被選中;
(此步驟可選)其實現在就能執行程式了,執行前可以嘗試修改android的配置檔案,在 其它檔案————android————AndroidManifest.xml,開啟這個檔案,會出現一個配置視窗,而不是xml編輯視窗,這個配置視窗可以修改包的名字,程式名字,圖示和許可權,這裡建議不要修改“run”的文字,不然可能會出現找不到可執行檔案的情況;
點左下角的執行按鈕,手機上執行起來了。
以上步驟可用於純qml程式的移植,其它情況另作討論。
2. 移植widget類程式
很多童鞋說不會用qml,那麼在安卓上用c++ widget行不?那當然是可以的,筆者表示不推薦,官方也不推薦,原因很多,主要是widget不適合觸控式螢幕,而且預設不使用opengl加速,導致程式效率不高。下面我示範簡單執行一個widget程式在安卓上。
新建一個專案,選擇Qt Gui程式(筆者只有很少幾個widget寫的程式,而且都比較大,不適合移植到安卓,這裡只示範一個新的widget專案)
記得選擇安卓的套件;
在designer中加入幾個widget;
編譯,然後去 專案————執行————包配置裡面確認執行庫,保證widget庫被選上;(Qt5中widget被獨立出來了,可能有一些還在用Qt4的童鞋不知道)
這時可以執行了,效果如下,筆者表示挺醜的。。。
筆者智商捉急,也只能寫到這種程度了,嫌我不夠水平的童鞋請忽略我。。
另:請自備安卓機子一臺,不推薦用模擬器。
第二篇:移植Qt到安卓
1. 直接移植Qt自帶的例子
首先開啟安裝Qt的目錄,再進入desktop版Qt的庫目錄(我這個因為是Linux所以顯示的是gcc版,win的應該顯示mingw或vs2010),找到examples資料夾——quick資料夾——demo資料夾——samegame資料夾;
這時可以先把samegame.qmlproject這個檔案拖進creator裡面試試看效果,一個簡單小遊戲,而且支援兩人一起玩;
現在開始移植工作;
建立一個Qt安卓專案(QT QUICK 2),先不要改任何程式碼,試試看能不能在手機上執行,不知道怎麼執行的請看第一篇;
回到剛才的samegame資料夾,把samegame.qml 、setting.js和content資料夾複製到剛剛建立的新專案的qml資料夾內,這時資料夾內應該有這麼幾個檔案:
現在進入main.cpp檔案,把第九行的main.qml改成samegame.qml,儲存;
然後進入.pro檔案,新增一行: QT += quick multimedia sql , 儲存後編譯;
去到 專案————執行————包配置,點“從應用程式讀取資訊”,然後確保sql模組被選中;
(此步驟可選)其實現在就能執行程式了,執行前可以嘗試修改android的配置檔案,在 其它檔案————android————AndroidManifest.xml,開啟這個檔案,會出現一個配置視窗,而不是xml編輯視窗,這個配置視窗可以修改包的名字,程式名字,圖示和許可權,這裡建議不要修改“run”的文字,不然可能會出現找不到可執行檔案的情況;
點左下角的執行按鈕,手機上執行起來了。
以上步驟可用於純qml程式的移植,其它情況另作討論。
2. 移植widget類程式
很多童鞋說不會用qml,那麼在安卓上用c++ widget行不?那當然是可以的,筆者表示不推薦,官方也不推薦,原因很多,主要是widget不適合觸控式螢幕,而且預設不使用opengl加速,導致程式效率不高。下面我示範簡單執行一個widget程式在安卓上。
新建一個專案,選擇Qt Gui程式(筆者只有很少幾個widget寫的程式,而且都比較大,不適合移植到安卓,這裡只示範一個新的widget專案)
記得選擇安卓的套件;
在designer中加入幾個widget;
編譯,然後去 專案————執行————包配置裡面確認執行庫,保證widget庫被選上;(Qt5中widget被獨立出來了,可能有一些還在用Qt4的童鞋不知道)
這時可以執行了,效果如下,筆者表示挺醜的。。。
筆者智商捉急,也只能寫到這種程度了,嫌我不夠水平的童鞋請忽略我。。
相關文章
- QT之安卓開發——生成APK以及真機測試QT安卓APK
- Vulkan移植GPUImage的安卓Demo展示GPUUI安卓
- 安卓安卓
- 看雪安卓研修班,安卓逆向安卓
- Android File Transfer for mac(好用的安卓檔案傳輸工具)安裝教程AndroidMac安卓
- Android joystick,安卓模擬搖桿Android安卓
- Android Studio 模擬器 安卓12 安裝MagiskAndroid安卓
- Fiddler 安卓手機抓包教程安卓
- 抓取安卓閃退日誌教程安卓
- Qt - Qt Creator下載與安裝QT
- 安卓(Android)開發基礎知識安卓Android
- win11 安卓子系統(WSA)安裝教程安卓
- 安卓 no_proxy安卓
- Android 安卓從1.0到11.0總結(跟隨Android官網實時更新)Android安卓
- 【Android】書客編輯器安卓Java版Android安卓Java
- 安卓Android虛擬機器分享及使用安卓Android虛擬機
- 安卓檔案傳輸工具Android File Transfer安卓Android
- 知名安卓模擬器將支援手遊移植Steam平臺安卓
- 安卓開發第一步:安卓面試題安卓面試題
- 安卓基礎UI免費視訊教程安卓UI
- 看雪安卓容器安卓
- 安卓四種引用安卓
- 安卓動畫(一)安卓動畫
- 安卓關閉fragment安卓Fragment
- 安卓遊戲大全安卓遊戲
- 安卓invalidate()、postInvalidate()、req安卓
- 安卓09作業安卓
- 安卓EasyLib的使用安卓
- C++ Qt開發:Qt的安裝與配置C++QT
- Qt5.2.1移植海思QT
- MacDroid for mac(安卓手機資料傳輸助手)安裝教程Mac安卓
- 【Android】安卓四大元件之Activity(二)Android安卓元件
- Android File Transfer for mac(安卓檔案傳輸工具)AndroidMac安卓
- windows安裝cmake、opencv、qtWindowsOpenCVQT
- 安卓開發:安卓底部選單欄的實現,RadioGroup 和Fragment安卓Fragment
- AMD CPU 安裝 Android Studio 時候提示“安裝安卓模擬器失敗”Android安卓
- 虹軟人臉識別——官方 Qt Demo 移植到 LinuxQTLinux
- 恢復安卓谷歌套件安卓谷歌套件
- 安卓防簽名策略安卓