2015-04-07 52 views
2

我正在使用Qt'qmake'从命令行(不使用QtCreator)构建Android目标。无论我做什么,似乎都会在它生成的Makefile中使用Android API级别9。是否有命令行选项,环境变量或其他方法可用于告诉qmake使用特定的Android API级别。我一直在寻找很久,找不到任何东西。在Qt中选择Android API级别QMake

回答

1

要选择特定的最低API级别,您需要提供您自己的Android清单文件。

我知道你不使用Qt Creator的,但它通过能够生成模板的新清单文件支持此功能。

可以从Qt的文档的更多细节上部署到Android: http://doc.qt.io/qtcreator/creator-deploying-android.html

您可以指定Qt Creator中的androiddeployqt工具,并在项目的.pro文件设置。要在Qt Creator中指定设置,请选择Projects> Build Android APK> Details。

...

可以使用的qmake变量来指定需要的androiddeployqt工具的所有设置,直到你想要发布的包的应用程序商店,你并不需要一个Android清单文件。要为APK包指定附加设置,您可以创建Android清单文件并在Qt Creator中对其进行编辑。选择创建模板以创建文件并在Android清单编辑器中打开它。

如果您不使用Qt Creator,您可能需要手动生成Android清单文件并将其放在源目录中。 androiddeployqt应该选择它。

ANDROID_PACKAGE_SOURCE_DIR:此变量可用于指定一个目录,其中可以对默认的Android包模板进行添加和修改。 androiddeployqt工具会将应用程序模板从Qt复制到build目录中,然后它将复制ANDROID_PACKAGE_SOURCE_DIR的内容,覆盖所有现有文件。

...

如果,例如,要创建一个自定义的AndroidManifest.xml为您的应用程序,然后直接把这个成该变量指定的文件夹。

...

注:当添加构建文件的自定义版本(比如strings.xml中,libs.xml,AndroidManifest.xml中,等)到你的项目,确保你从包中复制它们模板,它位于$ QT/src/android/java中。您不应该复制构建目录中的任何文件,因为这些文件已被更改为匹配当前的构建设置。