对于自动生成版本,编写脚本以使用gradle自动生成QT Android版本。
构建步骤在最后一步失败。 给出的命令是
C:\ Qt \ 5.10.1 \ android_armv7 \ bin \ androiddeployqt.exe --input C:/Users/user1/Desktop/Sources/Software/build_android/android-libTestApp.so-deployment-settings.json --output android_lisha --debug --android-platform android-28 --jdk“ C:\ Program Files \ Java \ jdk1.8.0_65” --gradle
观察到的错误是:
<-------------> 0%初始化[0s]>评估 设置<-------------> 0%初始化[0s]>评估 设置<-------------> 0%初始化[0s]>评估 设置<-------------> 0%配置[0s]>正在加载 项目<-------------> 0%配置[0s]>正在加载 项目<-------------> 0%配置[0s]>根 项目<-------------> 0%配置[0s]>根 项目<-------------> 0%配置[0s]>根 项目<-------------> 0%配置[0s]>根 项目<-------------> 0%配置[0s]>根 项目<-------------> 0%配置[1s]>根 项目<-------------> 0%配置[1s]>根项目>解决 :classpath <-------------> 0%配置[1s]>根 项目>解决:classpath <------------->的依赖关系0% 配置[1s]>根项目<-------------> 0%配置[1s]> 根项目<-------------> 0%配置[1s]>根 项目<-------------> 0%配置[1s]>根 项目<-------------> 0%配置[1s]>根 项目<-------------> 0%配置[1s]>根项目 失败:构建失败,并出现异常。
**其中:构建文件'C:\ Users \ user1 \ Desktop \ Sources \ Software \ build_android \ android_lisha \ build.gradle' 行:19 *出了什么问题:评估根项目'android_lisha'时出现问题。
无法应用插件[id'com.android.application'] \ uxxxx编码格式错误。**
build.gradle文件中使用的类路径:
classpath 'com.android.tools.build:gradle:3.1.0'
gradle.wrapper.properties文件中的分发URL:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
QT Creator IDE版本:4.6.1
我已经检查了堆栈溢出中的相关链接,例如 i)Cordova to Android studio error malformed \uxxxx encoding ii)https://github.com/googlesamples/unity-jar-resolver/issues/92。 以上链接没有太大帮助。
任何人都可以帮助解决这个问题。
答案 0 :(得分:0)
我的猜测是您使用的Android SDK和/或NDK版本太新。我很难让Qt编译Android应用程序,直到我切换到已知的Android SDK和NDK的良好版本,然后通过将它们复制到自己的静态文件夹以供Qt使用来锁定它们,从而使Android Studio不需要任何更新它们的机会都会给我的Qt Android版本带来新的问题。
根据我在构建失败中看到的信息,您正在使用Build SDK android-28和gradle 4.9。
从我正在使用的Qt Android版本中,我正在使用版本SDK android-25和gradle 3.4。
Qt文档(https://wiki.qt.io/Android)特别提到您必须使用Android NDK r10,因为已知更高版本存在问题。您可以在此处下载旧的NDK r10: https://developer.android.com/ndk/downloads/older_releases
Qt文档似乎没有列出要使用的任何特定Android SDK版本,但是根据经验,我知道过去使用最新的Android Studio更新的SDK时会遇到构建问题。找到一个可行的软件,然后将其复制出来,以便即使将来Google遇到问题时也可以使Qt Android构建保持正常运行。