Qt5.14.2 For Android 首次编译失败的解决方法(个人总结版)

刚才发现了一个问题,

我的基础设置是

项目配置中我把android-24 改为 Android Studio中的android21就不好用了,24可以正常编译


这里设置的是android5.0,

7.0也是可以正常使用的。


这个问题困扰我了3天 ,今天终于是可以正常编译,但是貌似debug还是有问题。不过已经可以正常打包了。也可以通过qDebug()打印信息,打不出来请检查真机设置。

下面说一下方法。首先我是跟着B站上的“嵌入式软件”老哥一步一步安装的。也是使用他的SDK包,但是估计是时间问题他使用的NDK是R21 我用的是R21b最新版。官网下载的连接如下:https://developer.android.google.cn/ndk/downloads/ 

老哥的B站连接:https://www.bilibili.com/video/BV1tK41157F6?from=search&seid=14898253952853283280

在这唠叨一下,老哥描述中的网盘已经失效,看评论区的链接。

到这里基础信息已经OK ,下面说一下如何解决Qt5.14.2首次运行Android报错的解决方法:

1.第一个条件要先开启Qt中Android的配置


按照步骤点击,会弹出下面的对话框,直接点击完成;


这时候在工程中就多出了android的配置信息了如下图


开始正题:

报错信息如下:

FAILURE: Build failed with an exception.

* Where:

Build file 'C:\Users\Mr.L\Desktop\Qt5_readXml\androidTest\build-androidTest-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_android-Debug\android-build\build.gradle' line: 18

* What went wrong:

A problem occurred evaluating root project 'android-build'.

> Failed to apply plugin [id 'com.android.internal.version-check']

> Minimum supported Gradle version is 6.1.1. Current version is 5.5.1. If using the gradle wrapper, try editing the distributionUrl in C:\Users\Mr.L\Desktop\Qt5_readXml\androidTest\build-androidTest-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_android-Debug\android-build\gradle\wrapper\gradle-wrapper.properties to gradle-6.1.1-all.zip

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 24s

Building the android package failed!

-- For more information, run this command with --verbose.

15:34:08: 进程"D:\Qt\Qt5.14.2\5.14.2\android\bin\androiddeployqt.exe"退出,退出代码 14 。

Error while building/deploying project androidTest (kit: Android for armeabi-v7a,arm64-v8a,x86,x86_64 (Clang Qt 5.14.2 (android)))

When executing step "Build Android APK"

需要修改下面的文件


这里要说明一下;


出现这个倒霉代码的原因是gradle版本不对造成的问题。说实话个人也是瞎撞才找到这个问题的解决方法。貌似是QT版本、sdk、ndk连锁造成的原因。开源最大的坑呀,找这个问题用了3天要命了。

我这个文件中的原始内容是

distributionBase=GRADLE_USER_HOME

distributionPath=wrapper/dists

distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip

zipStoreBase=GRADLE_USER_HOME

zipStorePath=wrapper/dists

下面的是我参照Android Studio中的内容

#Mon Aug 10 08:49:34 CST 2020

distributionBase=GRADLE_USER_HOME

distributionPath=wrapper/dists

zipStoreBase=GRADLE_USER_HOME

zipStorePath=wrapper/dists

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

这里我安装了Android Studio 并保证在其中可以生成helloword。说明上面的方法是可以使用的

不过话说回来。在我写这个解决方法的时候是用的QT5.14.2版本 后续版本估计也差不多,不过没有验证。算是后来人一个思路吧。

到这里,一个报错信息已经排除掉了,

不过还有后续的报错,往下看,

这个地方其实有两个问题

分别给出错误码和解决方法省的迷糊

错误码:

aidl.exe E 08-10 16:03:31 8220 15596 io_delegate.cpp:50] Failed to GetFullPathName(C:\Users\Mr.L\Desktop\Qt5_readXml\androidTest\build-androidTest-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_android-Debug\android-build\build\generated\aidl_source_output_dir\release\compileReleaseAidl\out\org\kde\necessitas\ministro\IMinistro.java)

解决方法如下在build.gradle文件中更改


buildscript {

    repositories {

        google()

        jcenter()

    }

    dependencies {

//classpath 'com.android.tools.build:gradle:3.5.0'  //这个是以前的,

classpath "com.android.tools.build:gradle:4.0.1"        //这个是更改后的,千万别问我为什么 我不知道通过看Android Studio找到的,后续版本升级估计也要参考这个方法吧

    }

}

错误码:

* What went wrong:

Execution failed for task ':lintVitalRelease'.

> Lint infrastructure error

Caused by: java.lang.reflect.InvocationTargetException

解决方法:

在build.gradle 对后面加上下面这句话

android {

lintOptions {

        checkReleaseBuilds false

        abortOnError false

    }

}

到此我的电脑是可以正常编辑生成文件了

这些错误码之外的就要小伙伴们自己找问题了


你可能感兴趣的:(Qt5.14.2 For Android 首次编译失败的解决方法(个人总结版))