美文网首页Android
Qt5.14.2 For Android 首次编译失败的解决方法

Qt5.14.2 For Android 首次编译失败的解决方法

作者: L_98ec | 来源:发表于2020-08-10 16:41 被阅读0次

    刚才发现了一个问题,

    我的基础设置是

    项目配置中我把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 首次编译失败的解决方法

        本文链接:https://www.haomeiwen.com/subject/ouyjdktx.html