为android构建qt项目时出错

时间:2015-02-09 20:51:00

标签: android qt

我在Windows上基于Qt 5.4.0下载了Qt Creator 3.3.0。 还有jdk1.8.0_25,SDK(全部更新),NDK-r10d,apache-ant-1.9.4。 设置所有必要的配置。 但是当我尝试构建项目时,我收到一个错误:

  

错误:目标ID' android - 1'无效。

据我所知,它与API级别有关。但是我可以在哪里设置它?

3 个答案:

答案 0 :(得分:1)

从Qt 5.4和QtCreator 3.3.0开始,你应该去项目>构建Android APK>详细信息,用于配置部署设置。为 Android Build SDK 选项选择Android API版本。另外,要创建APK包,请在APK中选择捆绑Qt库选项:

enter image description here

您还可以选择创建模板来创建清单文件,以设置应用程序设置,如图标,名称,...

答案 1 :(得分:0)

我重新安装了JDK,现在一切正常。 我当然不知道,但我认为问题是在将JDK从1.8.0_25更新到1.8.0_31之后获得的。由于某种原因,以前版本的文件夹仍然存在。它就像:

  

.. \爪哇\ jdk1.8.0_25

     

.. \爪哇\ jdk1.8.0_31

Qt提到已经过时的jdk1.8.0_25。

答案 2 :(得分: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 - 它总是这样。