我正在使用命令行中的Qt'qmake'(不使用QtCreator)为Android目标构建。无论我做什么,似乎在它生成的Makefile中使用Android API级别9。是否有命令行选项,环境变量或其他方法可用于告诉qmake使用特定的Android API级别。我一直在寻找很长时间,找不到任何东西。
答案 0 :(得分:1)
要选择特定的最低API级别,您需要提供自己的Android清单文件。
我知道您并未使用Qt Creator,但它能够通过模板生成新的清单文件来支持此功能。
有关部署到Android的Qt文档的更多详细信息: http://doc.qt.io/qtcreator/creator-deploying-android.html
您可以在Qt Creator和项目.pro文件中指定androiddeployqt工具的设置。要在Qt Creator中指定设置,请选择项目>构建Android APK>的信息。
...
您可以使用qmake变量指定androiddeployqt工具所需的所有设置,并且在您想要在应用商店中发布包之前,您不需要Android清单文件。要为APK包指定其他设置,您可以创建Android清单文件并在Qt Creator中对其进行编辑。选择“创建模板”以创建文件并在Android Manifest Editor中打开它。
如果您不使用Qt Creator,您可能需要手动生成Android清单文件并将其放在源目录中。 androiddeployqt应该把它拿起来。
ANDROID_PACKAGE_SOURCE_DIR:此变量可用于指定可对默认Android程序包模板进行添加和修改的目录。 androiddeployqt工具将应用程序模板从Qt复制到构建目录中,然后它将复制ANDROID_PACKAGE_SOURCE_DIR的内容,覆盖任何现有文件。
...
例如,如果您想为应用程序创建自定义AndroidManifest.xml,请将其直接放入此变量中指定的文件夹中。
...
注意:在项目中添加构建文件的自定义版本(如strings.xml,libs.xml,AndroidManifest.xml等)时,请确保从包含在$ QT中的包模板中复制它们。 / src目录/安卓/ JAVA。您永远不应该从构建目录中复制任何文件,因为这些文件已被更改以匹配当前的构建设置。
答案 1 :(得分:0)
将环境更改为ANDROID_NDK_PLATFORM = android-您想要的api级别,或者在QtCreator-> Project-> Build Environment->添加/更新上述变量。