QT:找不到应用程序.PRO文件,而没有构建APK



我是QT的新手,并且正在尝试构建一个简单的Android应用程序。我使用QT 5.7使用评估包QT Creator 4.2.0(企业)。由于某种原因,在我通过项目 -> build设置 -> build android apk'创建模板'创建AndroidManifest.xml之后,我在编译后会遇到以下错误。/strong>"

10:40:39: Running steps for project AndroidApp2...
10:40:39: Configuration unchanged, skipping qmake step.
10:40:39: Starting: "C:QT_CommercialToolsmingw530_32binmingw32-make.exe" 
C:/Qt/Qt5.1.0/5.1.0/android_armv7/bin/uic.exe ../AndroidApp2/mainwindow.ui -o ui_mainwindow.h
D:Androidandroid-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -g -g -marm -O0 -fno-omit-frame-pointer -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_NO_PRINTDIALOG -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/mkspecs/android-g++ -I../AndroidApp2 -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtWidgets -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtGui -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtCore -I. -I. -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -ID:/Android/android-ndk/platforms/android-9/arch-arm/usr/include -I. -o main.obj ../AndroidApp2/main.cpp
D:Androidandroid-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -g -g -marm -O0 -fno-omit-frame-pointer -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_NO_PRINTDIALOG -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/mkspecs/android-g++ -I../AndroidApp2 -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtWidgets -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtGui -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtCore -I. -I. -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -ID:/Android/android-ndk/platforms/android-9/arch-arm/usr/include -I. -o mainwindow.obj ../AndroidApp2/mainwindow.cpp
C:/Qt/Qt5.1.0//5.1.0/android_armv7/bin/moc.exe -DQT_NO_PRINTDIALOG -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/mkspecs/android-g++ -I../AndroidApp2 -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtWidgets -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtGui -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtCore -I. -I. -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -ID:/Android/android-ndk/platforms/android-9/arch-arm/usr/include -I. -I/usr/include -I/usr/local/include ../AndroidApp2/mainwindow.h -o moc_mainwindow.cpp
D:Androidandroid-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -g -g -marm -O0 -fno-omit-frame-pointer -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_NO_PRINTDIALOG -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/mkspecs/android-g++ -I../AndroidApp2 -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtWidgets -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtGui -I../../../../Qt/Qt5.1.0/5.1.0/android_armv7/include/QtCore -I. -I. -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include -ID:/Android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -ID:/Android/android-ndk/platforms/android-9/arch-arm/usr/include -I. -o moc_mainwindow.obj moc_mainwindow.cpp
D:Androidandroid-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ --sysroot=D:Androidandroid-ndk/platforms/android-9/arch-arm/ -Wl,-soname,libAndroidApp2.so -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libAndroidApp2.so main.obj mainwindow.obj moc_mainwindow.obj   -LD:Androidandroid-ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a -LD:Androidandroid-ndk/platforms/android-9/arch-arm//usr/lib -lgnustl_shared -lsupc++ -llog -lz -lm -ldl -lc -lgcc -LC:QtQt5.1.0\5.1.0android_armv7lib -lQt5Widgets -lQt5Gui -lQt5Core -lGLESv2 
10:40:47: The process "C:QT_CommercialToolsmingw530_32binmingw32-make.exe" exited normally.
10:40:47: Removing directory C:/Software/QT/AndroidApps/build-AndroidApp2-Android_for_armeabi_v7a_GCC_4_9_Qt_5_1_0-Debug/android-build
10:40:47: Starting: "C:QT_CommercialToolsmingw530_32binmingw32-make.exe" "INSTALL_ROOT=C:/Software/QT/AndroidApps/build-AndroidApp2-Android_for_armeabi_v7a_GCC_4_9_Qt_5_1_0-Debug/android-build" install
cp -f "libAndroidApp2.so" "C:/Software/QT/AndroidApps/build-AndroidApp2-Android_for_armeabi_v7a_GCC_4_9_Qt_5_1_0-Debug/android-build/libs/armeabi-v7a/libAndroidApp2.so"
10:40:49: The process "C:QT_CommercialToolsmingw530_32binmingw32-make.exe" exited normally.
10:40:49: No application .pro file found, not building an APK.
10:40:49: Elapsed time: 00:10.

我尝试在makefile中查看,但目录都看起来还不错。没有类型。

我的.pro文件如下:

#-------------------------------------------------
#
# Project created by QtCreator 2016-12-20T10:23:38
#
#-------------------------------------------------
QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = AndroidApp2
TEMPLATE = app
# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += main.cpp
        mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui
CONFIG += mobility
MOBILITY = 
DISTFILES += 
    android/AndroidManifest.xml
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android

我似乎没有使用QT 5.1。

没有问题。

任何帮助都很好!

谢谢

存在类似的问题,也存在https://bugreports.qt.io/browse/qtcreatorbug-13566,它是通过禁用不必要的" make install"one_answers" build" build apk septs on fine构建设置下的项目模式。

根据qt源qmakeandroidbuildapkstep.cpp,有2个情况,其中有一条消息:.pro文件找不到并部署设置.json文件找不到

    const QmakeProjectManager::QmakeProFileNode *node = pro->rootProjectNode()->findProFileFor(proFilePathForInputFile());
    m_skipBuilding = !node;
    if (m_skipBuilding)
        return true;
    QString inputFile = node->singleVariableValue(QmakeProjectManager::Variable::AndroidDeploySettingsFile);
    if (inputFile.isEmpty()) {
        m_skipBuilding = true;
        return true;
}

我已经查看了JSON文件并在内部找到了一条消息 - 它打算由AndroidDeployQT读取。下一步非常简单:

/opt/Qt/5.9/android_armv7/bin/androiddeployqt --input android-libretroshare-qml-app.so-deployment-settings.json --release --verbose --gradle --stacktrace --debug --output ./

它根本无法解决我的问题,但是它的消息非常有帮助。