Pre-Settings
安裝Qt,勾選上Android相關的包
下載相關kits
-
JDK
$ yay jdk # 列出的選項中選擇一個jdk,參照官方文檔選擇openJDK $ archlinux-java status # 查看系統默認的jdk $ sudo archlinux-java set [對應的jdk包名] # 若只有一個jdk,跳過這一步 # 驗證 $ java -version $ javac -version # 可以自己編寫一個java的HelloWorld來進一步驗證
-
SDK
Qt5.14好像還是不支持最新的sdk,所以下的一個舊版的,在StackOverflow找到一個舊版鏈接
-
NDK
同樣的,在Android Developer下載對應的NDK包
配置
-
JDK
Qt Creator中:
工具
->選項
->設備
->Android
JDK location中填入JDK的路徑,例如我的:
/usr/lib/jvm/java-8-openjdk
-
Android settings:
-
Pre-settings:
在主目錄下創建一個名為Android的文件夾(用來存儲SDK,NDK包) ,將之前下載好的SDK、NDK解壓后放入Android文件夾中
-
Settings:
Qt Creator中:
工具
->選項
->設備
->Android
在SDK、NDK路徑兩欄中分別填入對應包的路徑,例如我的:
SDK:/home/jaywhen/Android/sdk NDK:/home/jaywhen/Android/ndk
完成后會提示缺少一些依賴,依照提示安裝即可
-
遇到的問題
-
新建Qt Quick項目后(使用Android kits),文件目錄樹上的文件除了.pro文件外全是灰色的,且編譯不通過
這個問題困擾了我很久(太菜了),網上幾乎找便了也沒找到解決方案,后來經過對比官方實例程序才明白
原因
出現這個問題可能是.pro文件的配置有問題,寫入了不存在的模塊
例如,在我的案例中,我的Android模塊庫中,並沒有
virtualkeyboard
這一模塊,而我在新建項目的時候點擊了Use Qt Virtual Keyboard
這一選項(當然這一操作在你的模塊庫中有virtualkeyboard
時是沒問題的),導致無法編譯。
解決
解決方法要么是安裝對應的模塊庫,要么如果自己寫的這個應用不需要用到虛擬鍵盤,那么在新建項目初期就不用勾選
Use Qt Virtual Keyboard
這一選項 -
Android deploy settings file not found, not building an APK.
這個問題偶爾出現,可能是由於Qt for Android的配置文件不太穩定導致的
原因
不詳
解決
打開的項目中,依次選擇:
項目->Build
選中對應的編譯器,將Enable Qt Quick Compiler取消勾選,等重構后再次勾選上,即可編譯出apk
測試
參考
StackOverflow: How do I download the Android SDK without downloading Android Studio?