Qt for Android 编译输出乱码

红字部分一堆乱码,不知道是啥。也并不是所有的中文都是乱码,就是在编译java代码时才出现的
Qt for Android 编译输出乱码

然后使用 Android Studio 打开 Qt 自动生成的 android-build 目录,输入命令.\gradlew compileDebugSource --stacktrace -info,发现仍然是乱码

Qt for Android 编译输出乱码

改用命令.\gradlew compileDebugSource --scan扫描,并将结果发布到scans.gradle.com
Qt for Android 编译输出乱码

之后邮箱就会收到一个激活链接
Qt for Android 编译输出乱码

点开链接,查看报告,原先控制台输出的乱码在网页上竟然可以正常显示。只可惜这里显示的诊断信息是错误的,显然不是类 MyContentProvider 是公共的, 应在名为 MyContentProvider.java 的文件中声明。真正的原因是MyContentProvider不是抽象的, 并且未覆盖ContentProvider中的抽象方法将 Android Gradle 插件更新到 7.4 可以解决这个误诊问题,但是仍然不能解决乱码问题
Qt for Android 编译输出乱码

如果在控制台输入命令javac -Xlint:deprecation src\java\ContentProvider.java可以看到更多信息,不过貌似有很多误报,估计是因为依赖库的问题,不能对其单独编译。可以通过修改 build.gradle 文件,添加以下选项查看哪些代码被弃用了

tasks.withType(JavaCompile) {
    // options.compilerArgs += ['-Xlint:deprecation']
    options.deprecation = true // 上面太烦,使用这个更简单
    // options.verbose = true  // 这个更啰嗦
}

之后再调用命令扫描.\gradlew compileDebugSource --scan,再次提交报告(因为中文乱码),然后再打开网页查看说明。个人觉得以上几个选项都不重要,可以不用配置。

至此,仍然不知道怎么解决控制台的中文乱码。应该不是 Qt Creator 的问题,也不是 Android Studio 的问题,貌似就是 gradle 的问题

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

感觉在Qt里面加入java代码很麻烦。一旦出错的话,gradle 会输出一堆中文乱码。即使切换到 Android Studio 照样显示乱码,改用 PowerShell 甚至是最原始的 cmd 照旧是乱码。
Java
很明显了,这个乱码就是 gradle 搞出来的,估计再升级一下就好了

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
63
粉丝
17
喜欢
140
收藏
118
排名:132
访问:7.4 万
私信
所有博文
社区赞助商