Qt Creator 配置 Android 編譯環境
- 環境
- 配置流程
- 下載JDK
- 修改Qt Creator默認android配置文件
- 修改sdk_definitions.json配置
- 修改的內容
- Qt Creator配置
- 異常處理
- 刪除提示占用
- 編譯報錯
- 連接安卓機調試APP閃退
- 無法進入 debug 斷點
環境
- Qt Creator 版本 qtcreator-16.0.1
- Win10
嗯, Qt這個開發環境有點難折騰,搞了我三天…
配置流程
下載JDK
5.15.2 需要下載的jdk為JDK11
修改Qt Creator默認android配置文件
這里為什么要修改,是因為每個版本的Qt Creator中的sdk_definitions.json配置都不一致,但是我們Qt版本為5.15.2,且Qt Android 編譯環境要求一致性比較高.
修改sdk_definitions.json配置
路徑
C:\Qt\qtcreator-16.0.1\share\qtcreator\android
原始內容
{"common": {"sdk_tools_url": {"linux": "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip","linux_sha256": "2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258","windows": "https://dl.google.com/android/repository/commandlinetools-win-11076708_latest.zip","windows_sha256": "4d6931209eebb1bfb7c7e8b240a6a3cb3ab24479ea294f3539429574b1eec862","mac": "https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip","mac_sha256": "7bc5c72ba0275c80a8f19684fb92793b83a6b5c94d4d179fc5988930282d7e64"},"sdk_essential_packages": {"default": ["platform-tools", "cmdline-tools;latest", "emulator"],"linux": [],"mac": [],"windows": ["extras;google;usb_driver"]}},"specific_qt_versions": [{"versions": ["6.4"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;23.1.7779620", "platforms;android-31"]},{"versions": ["6.3", "6.2", "5.15.[9-20]"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;22.1.7171670", "platforms;android-31"]},{"versions": ["5.15.[0-8]", "5.14.[0-2]", "5.13.2", "6.0", "6.1"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;21.3.6528147", "platforms;android-31"]},{"versions": ["5.12.[0-5]", "5.13.[0-1]"],"sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600", "platforms;android-28"]}]
}
修改后的內容
{"common": {"sdk_tools_url": {"linux": "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip","linux_sha256": "2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258","windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip","windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d","mac": "https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip","mac_sha256": "7bc5c72ba0275c80a8f19684fb92793b83a6b5c94d4d179fc5988930282d7e64"},"sdk_essential_packages": {"default": ["platform-tools", "cmdline-tools;8.0", "emulator"],"linux": [],"mac": [],"windows": ["extras;google;usb_driver"]}},"specific_qt_versions": [{"versions": ["6.4"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;23.1.7779620", "platforms;android-31"]},{"versions": ["6.3", "6.2", "5.15.[9-20]"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;22.1.7171670", "platforms;android-31"]},{"versions": ["5.15.[0-8]", "5.14.[0-2]", "5.13.2", "6.0", "6.1"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;21.3.6528147", "platforms;android-31"]},{"versions": ["5.12.[0-5]", "5.13.[0-1]"],"sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600", "platforms;android-28"]}]
}
修改的內容
"windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip",
"windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d",
"default": ["platform-tools", "cmdline-tools;8.0", "emulator"]
"platforms;android-31":指示的是需要的Android API 版本, 如果需要修改這里也要改成你需要的版本
以上修改是修改cmdline-tools版本,5.15.2需要配合8.0版本
Qt Creator配置
設置好jdk路徑和SDK路徑,注意SDK需要的是空文件夾,純英文
點擊設置SDK
然后全部點擊是,理論上講就會自動下載對應的依賴.但是…
遇到上圖所示,代表下載錯誤(此處我是搭梯子也好,還是重試也好,能成功完成下載的,都是純屬運氣)
多試幾次吧…,因為下載的依賴中都有個package.xml,我也不知道這個東西在哪里下載,或者配置.
這里檢查下cmdline-tools版本 8.0
package.xml,這個文件必須存在且路徑需要是:cmdline-tools\latest,否則即使下載成功,也會報錯
成功以后是這樣的
異常處理
刪除提示占用
如果刪除失敗提示占用結束這個進程即可
編譯報錯
如果編譯報錯請檢查一下參數,并改為圖示版本
將gradle版本改為3.5.1
將build-tools版本改為31.0.0
這兩個參數過高會導致編譯報錯
連接安卓機調試APP閃退
Qt Creator 16.0.1-14.0.2都閃退,建議降級到13.0.2,親測有效
無法進入 debug 斷點
最快的辦法還是把QT Creator降級到9.0.2版本