2015-04-07 194 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中。您不應該複製構建目錄中的任何文件,因爲這些文件已被更改爲匹配當前的構建設置。