Qt for Android環(huán)境搭建

記錄一下這幾天搭建Qt for Android環(huán)境的坑。

1. Android環(huán)境

根據(jù)Qt官網(wǎng)說明,搭建Qt Android需要一些先決條件,即Android的開發(fā)環(huán)境,主要包括以下內(nèi)容:

其中,需要注意的主要為JDK和Android版本之間的匹配問題??梢灾苯尤ava官網(wǎng)下載JDK,也可以通過Android Studio下載。這里我使用了Android Studio,主要是考慮到后面安裝Android SDK和NDK會更方便一些。
Android Studio安裝好之后,可以通過sdk-manager進(jìn)行SDK和NDK的安裝,如下圖:


sdk-manager.png
SDK.png

NDK

2.Qt環(huán)境搭建

2.1 Qt中添加Android設(shè)備配置

主要包括JDK、SDK路徑的設(shè)置,這里JDK、SDK可以直接使用Android Studio中通過sdk-manager安裝的sdk路徑。也可以通過點擊“設(shè)置SDK”,在左邊選擇的一個空目錄中,進(jìn)行下載SDK和NDK(可能出現(xiàn)網(wǎng)絡(luò)問題,推薦使用Android Studio安裝)。


Android設(shè)置.png

安裝成功后,會出現(xiàn)如下提示:


Android

2.2 kits的配置

Qt for Android的編譯套件推薦通過Qt官方工具安裝,可以找到Qt安裝目錄下的maintaintool.exe工具,選擇"更新和刪除組件“選項,在對應(yīng)的Qt版本下安裝Qt for Android內(nèi)容。
Qt for Android.png

安裝完成之后再打開Qt Creator就可以看的Qt Android 的Kits了。

3. 記一些遇到的問題

3.1 Qt creator設(shè)置中,沒有Android選項

   這是由于在較新的Qt creator中,默認(rèn)沒有開啟Android的配置,這是需要在Qt 的plugins設(shè)置中,選中Android.dll,重啟即可。

3.2 qt 部署提示: 當(dāng)前無部署

   打開kits,可以看到有個黃色感嘆號,提示未設(shè)置部署設(shè)備。這時可以通過添加AVD虛擬設(shè)備或者連接真機(jī)的方式,之后會自動選擇設(shè)備。注意連接真機(jī)需要開啟USB調(diào)試。

3.3 構(gòu)建時出現(xiàn),Could not resolve all artifacts for configuration ':classpath'錯誤

根據(jù)Qt Forum的回答,可能是JDK版本不匹配的問題,檢查我的版本之后發(fā)現(xiàn)不是這個原因。解決方案如下:
在環(huán)境配置中添加模板,如圖所示位置:

template

之后在build.gradle文件中,修改如下內(nèi)容:

   repositories {
        // 注釋下面2行
    // google()
        // jcenter()
        // 新增
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }

這樣修改以后,可能會出現(xiàn)連接到不安全的庫的錯誤,需要把添加的第二個和第三個內(nèi)容去掉,去掉以后如果出現(xiàn)庫找不到,可以選擇性的把第一個和第二個注釋掉。

3.4 Read timed out和connect timed out

解決方法同3.3。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容