checking for the shared library linker (sh) ... clang++
checking for the linker (ld) ... clang++
[ 80%]: generating.qt.app test.apk
{
"description": "This file is generated by qmake to be read by androiddeployqt and should not be modified by hand.",
"qt": "D:/app/Qt5.9.7/5.9.7/android_armv7",
"sdk": "C:\\Users\\South\\AppData\\Local\\Android\\sdk",
"ndk": "C:\\Users\\South\\AppData\\Local\\Android\\sdk\\ndk-bundle",
"sdkBuildToolsRevision": "30.0.3",
"toolchain-prefix": "llvm",
"tool-prefix": "llvm",
"toolchain-version": "4.9",
"stdcpp-path": "C:\\Users\\South\\AppData\\Local\\Android\\sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++\\libs\\armeabi-v7a\\libc++_shared.so",
"ndk-host": "windows-x86_64",
"target-architecture": "armeabi-v7a",
"qml-root-path": "C:\\Users\\South\\Desktop\\test\\test",
"qml-importscanner-binary": "D:\\app\\Qt5.9.7\\5.9.7\\android_armv7\\bin\\qmlimportscanner",
"rcc-binary": "D:\\app\\Qt5.9.7\\5.9.7\\android_armv7\\bin\\rcc",
"useLLVM": true,
"application-binary": "build\\android\\armeabi-v7a\\release\\libtest.so"
}
D:\app\Qt5.9.7\5.9.7\android_armv7\bin\androiddeployqt.exe --input build\.qt\app\android\test\android-deployment-settings.json --output build\.qt\app\android\test\android-build --jdk "C:\\Program Files\\Android\\Android Studio\\jre" --gradle --no-gdbserver --verbose
Invalid json file: build\.qt\app\android\test\android-deployment-settings.json
error: @programdir\modules\private\async\runjobs.lua:256: @programdir\core\sandbox\modules\os.lua:362: execv(D:\app\Qt5.9.7\5.9.7\android_armv7\bin\androiddeployqt.exe --input build\.qt\app\android\test\android-deployment-settings.json --output build\.qt\app\android\test\android-build --jdk "C:\\Program Files\\Android\\Android Studio\\jre" --gradle --no-gdbserver --verbose) failed(2)
stack traceback:
[C]: in function 'error'
[@programdir\core\base\os.lua:872]:
[@programdir\core\sandbox\modules\os.lua:362]:
[@programdir\core\sandbox\modules\os.lua:275]: in function 'vrunv'
[@programdir\rules\qt\deploy\android.lua:219]:
[@programdir\actions\build\build.lua:131]: in function 'jobfunc'
[@programdir\modules\private\async\runjobs.lua:232]:
stack traceback:
[C]: in function 'error'
@programdir\core\base\os.lua:872: in function 'os.raiselevel'
(...tail calls...)
@programdir\modules\private\async\runjobs.lua:256: in field 'catch'
@programdir\core\sandbox\modules\try.lua:127: in global 'try'
@programdir\modules\private\async\runjobs.lua:218: in upvalue 'cotask'
@programdir\core\base\scheduler.lua:388: in function <@programdir\core\base\scheduler.lua:385>
warning: add_cxflags("-fPIC") is ignored, please pass `{force = true}` or call `set_policy("check.auto_ignore_flags", false)` if you want to set it.
android-deployment-settings.json文件
{
"description": "This file is generated by qmake to be read by androiddeployqt and should not be modified by hand.",
"qt": "D:/app/Qt5.9.7/5.9.7/android_armv7",
"sdk": "C:\\Users\\South\\AppData\\Local\\Android\\sdk",
"ndk": "C:\\Users\\South\\AppData\\Local\\Android\\sdk\\ndk-bundle",
"sdkBuildToolsRevision": "30.0.3",
"toolchain-prefix": "llvm",
"tool-prefix": "llvm",
"toolchain-version": "4.9",
"stdcpp-path": "C:\\Users\\South\\AppData\\Local\\Android\\sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++\\libs\\armeabi-v7a\\libc++_shared.so",
"ndk-host": "windows-x86_64",
"target-architecture": "armeabi-v7a",
"qml-root-path": "C:\\Users\\South\\Desktop\\test\\test",
"qml-importscanner-binary": "D:\\app\\Qt5.9.7\\5.9.7\\android_armv7\\bin\\qmlimportscanner",
"rcc-binary": "D:\\app\\Qt5.9.7\\5.9.7\\android_armv7\\bin\\rcc",
"useLLVM": true,
"application-binary": "build\\android\\armeabi-v7a\\release\\libtest.so"
}
Xmake 版本
v2.6.7+dev.2132430d0
操作系统版本和架构
Windows 10家庭中文版 21H1 19043.1466
描述问题
在windows上跨平台编译QT框架的armv7的Android程序时, qt报错:Invalid json file: build.qt\app\android\test\android-deployment-settings.json 不清楚是xmake生成该文件有问题,还是特定版本的qt对该文件的兼容性有问题。 qt版本:5.9.7 下载路径:https://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.9/5.9.7/qt-opensource-windows-x86-5.9.7.exe 需安装android_armv7
期待的结果
能正常编译Qt框架的Android程序
工程配置
附加信息和错误日志
Step 1:
创建qt.quickqpp项目
Step 2:
配置编译环境
结果
Step 3:
开始编译
结果
android-deployment-settings.json文件