剛才發(fā)現(xiàn)了一個(gè)問(wèn)題,
我的基礎(chǔ)設(shè)置是
項(xiàng)目配置中我把a(bǔ)ndroid-24 改為 Android Studio中的android21就不好用了,24可以正常編譯


這里設(shè)置的是android5.0,
7.0也是可以正常使用的。
這個(gè)問(wèn)題困擾我了3天 ,今天終于是可以正常編譯,但是貌似debug還是有問(wèn)題。不過(guò)已經(jīng)可以正常打包了。也可以通過(guò)qDebug()打印信息,打不出來(lái)請(qǐng)檢查真機(jī)設(shè)置。
下面說(shuō)一下方法。首先我是跟著B(niǎo)站上的“嵌入式軟件”老哥一步一步安裝的。也是使用他的SDK包,但是估計(jì)是時(shí)間問(wèn)題他使用的NDK是R21 我用的是R21b最新版。官網(wǎng)下載的連接如下:https://developer.android.google.cn/ndk/downloads/?
老哥的B站連接:https://www.bilibili.com/video/BV1tK41157F6?from=search&seid=14898253952853283280
在這嘮叨一下,老哥描述中的網(wǎng)盤(pán)已經(jīng)失效,看評(píng)論區(qū)的鏈接。
到這里基礎(chǔ)信息已經(jīng)OK ,下面說(shuō)一下如何解決Qt5.14.2首次運(yùn)行Android報(bào)錯(cuò)的解決方法:
1.第一個(gè)條件要先開(kāi)啟Qt中Android的配置

按照步驟點(diǎn)擊,會(huì)彈出下面的對(duì)話框,直接點(diǎn)擊完成;

這時(shí)候在工程中就多出了android的配置信息了如下圖

開(kāi)始正題:
報(bào)錯(cuò)信息如下:
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: 進(jìn)程"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"
需要修改下面的文件

這里要說(shuō)明一下;
出現(xiàn)這個(gè)倒霉代碼的原因是gradle版本不對(duì)造成的問(wèn)題。說(shuō)實(shí)話個(gè)人也是瞎撞才找到這個(gè)問(wèn)題的解決方法。貌似是QT版本、sdk、ndk連鎖造成的原因。開(kāi)源最大的坑呀,找這個(gè)問(wèn)題用了3天要命了。
我這個(gè)文件中的原始內(nèi)容是
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中的內(nèi)容
#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。說(shuō)明上面的方法是可以使用的
不過(guò)話說(shuō)回來(lái)。在我寫(xiě)這個(gè)解決方法的時(shí)候是用的QT5.14.2版本?后續(xù)版本估計(jì)也差不多,不過(guò)沒(méi)有驗(yàn)證。算是后來(lái)人一個(gè)思路吧。
到這里,一個(gè)報(bào)錯(cuò)信息已經(jīng)排除掉了,
不過(guò)還有后續(xù)的報(bào)錯(cuò),往下看,
這個(gè)地方其實(shí)有兩個(gè)問(wèn)題
分別給出錯(cuò)誤碼和解決方法省的迷糊
錯(cuò)誤碼:
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'??//這個(gè)是以前的,
classpath "com.android.tools.build:gradle:4.0.1"?? ?? ? //這個(gè)是更改后的,千萬(wàn)別問(wèn)我為什么?我不知道通過(guò)看Android Studio找到的,后續(xù)版本升級(jí)估計(jì)也要參考這個(gè)方法吧
????}
}
錯(cuò)誤碼:
* What went wrong:
Execution failed for task ':lintVitalRelease'.
> Lint infrastructure error
Caused by: java.lang.reflect.InvocationTargetException
解決方法:
在build.gradle?對(duì)后面加上下面這句話
android {
lintOptions {
????????checkReleaseBuilds false
????????abortOnError false
????}
}
到此我的電腦是可以正常編輯生成文件了
這些錯(cuò)誤碼之外的就要小伙伴們自己找問(wèn)題了
