2015-02-09 145 views
0

我在Windows上根據Qt 5.4.0下載了Qt Creator 3.3.0。 還有jdk1.8.0_25,SDK(全部更新),NDK-r10d,apache-ant-1.9.4。 設置所有必要的配置。 但是當我嘗試建立項目中,我得到一個錯誤:爲Android構建qt項目時出現錯誤

Error: Target id 'android--1' is not valid.

據我瞭解它是關於API級別。但我可以在哪裏設置?

+0

Downvoted。提供更深入的解釋和確切的錯誤。你是剛建造它還是試圖跑?用所有必要的信息改進問題。 – BaCaRoZzo 2015-02-10 01:26:02

+0

大樓從5停在4。我不認爲在部署的問題,因爲在那之前,我嘗試** Android Studio **,一切正常。 – Viacheslav 2015-02-10 05:22:29

+0

現在我應該回到這個問題。儘管已經發現該決定並且仍然是相同的,但您應該重新安裝JDK,但這不是對問題的回答。我試圖創建不同的項目來研究Qt,但是今天當我創建另一個項目時,我得到了和一週前相同的結果。但是今天我已經有了一些工作項目,我發現它們有所不同。 Qt項目有一個自動生成的文件:PROJECT_NAME.pro.user,在那裏你可以找到字符串'android-1',所以你應該把它們全部改爲'android-21'(取決於你的SDK版本)和項目將被修復。 – Viacheslav 2015-02-17 18:56:22

回答

1

由於Qt 5.4與QtCreator 3.3.0一起,您應該去項目>構建Android APK>詳細信息用於配置部署設置。選擇一個Android API版本Android Build SDK選項。還創建APK包,選擇APK選項捆綁Qt庫:

enter image description here

您也可以選擇創建模板創建清單文件中設置類似的圖標,名稱應用程序設置。 ..

+1

是的,我想過** Android Build SDK **選項,但該組合框中沒有項目。這是否意味着我應該在SDK中安裝某些東西? – Viacheslav 2015-02-10 05:08:56

+0

更新SDK時是否安裝了Android SDK平臺工具和Android SDK構建工具? – Nejat 2015-02-10 05:11:56

0

我重新安裝了JDK,現在一切正常。 我並不確定,但我認爲從1.8.0_25更新到1.8.0_31之後,JDK已經獲得了該問題。由於某種原因,之前版本的文件夾仍然存在。它是這樣的:

..\Java\jdk1.8.0_25

..\Java\jdk1.8.0_31

而Qt引用已經過時的jdk1.8.0_25。

+0

這是不正確的答案,但刪除和安裝JDK確實有幫助。 – Viacheslav 2015-02-17 18:58:20

0

什麼幫助我 - 關閉防病毒。爲什麼?見下:

我有同樣的錯誤,重新安裝沒有幫助。

從cmd手動運行android.bat list targets給出了正確的目標列表。

挖掘到QtCreator代碼後,我找到了原因 - 魔碼爲目標獲取列表中qt

void AndroidConfig::updateAvailableSdkPlatforms() const 
{ 
    QProcess proc; 
    proc.setProcessEnvironment(androidToolEnvironment().toProcessEnvironment()); 
    proc.start(androidToolPath().toString(), QStringList() << QLatin1String("list") << QLatin1String("target")); // list avaialbe AVDs 
    if (!proc.waitForFinished(10000)) { 
     proc.terminate(); 
     return; 
    } 
} 

正如你可以看到,如果android.bat list target CMD將無法完成10秒,qtcreator只會終止該過程。

在我的情況下,由於防病毒檢查的結果是15秒,所以關閉防病毒可能有助於您的情況。

無需重啓QtCreator。只需打開Android部分選項再次加載所有目標。

我'愛'Qt - 它總是像這樣。