类库安装后,编译报错:
Compilation failed with an internal error
vcn类库工程:https://www.123912.com/s/RmCATd-Qb1Fd
e4a 类库:https://www.123912.com/s/RmCATd-Eb1Fd
经查,该类库中的 suiyuan_qingbianbofangqi.jar 该文件使用 JDK17 打包,而 VcnStudio 轻舟版目前只支持使用 JDK8 打包的 jar 文件。
虽然该文件内部代码并没有使用 JDK17 的任何特性,但是由于 Java 并不支持向前兼容,因此要想解决该问题,您必须重新使用 JDK8 的环境打包该 jar 文件的 java 代码为存档文件。这也意味着您必须要拥有这个 jar 文件的 java 源代码文件,然后重新使用 Java8 打包。
为什么 VcnStudio 轻舟版本不支持 JDK17 ?
1、VcnStudio 轻舟版本的视窗是基于 JDK8 的,而从 JDK9 开始,JAVA引入了模块概念,针对于 JavaFx 模块支持的适配工作还未进行。
2、由于安卓官方最新的开发适配环境Java版本仍然为Java8,为了安全与稳定考虑,对于一个广泛使用的移动操作系统来说,确保现有应用程序的稳定性和性能是至关重要的。因此,截止最新的安卓系统,目前本身也并不支持 JDK17 的相关特性。
3、针对程序开发来说,追求稳定与安全,远大于追求最新。
不好意思,是我忘了删旧包。
经查,该类库中的 suiyuan_qingbianbofangqi.jar 该文件使用 JDK17 打包,而 VcnStudio 轻舟版目前只支持使用 JDK8 打包的 jar 文件。
虽然该文件内部代码并没有使用 JDK17 的任何特性,但是由于 Java 并不支持向前兼容,因此要想解决该问题,您必须重新使用 JDK8 的环境打包该 jar 文件的 java 代码为存档文件。这也意味着您必须要拥有这个 jar 文件的 java 源代码文件,然后重新使用 Java8 打包。
为什么 VcnStudio 轻舟版本不支持 JDK17 ?
1、VcnStudio 轻舟版本的视窗是基于 JDK8 的,而从 JDK9 开始,JAVA引入了模块概念,针对于 JavaFx 模块支持的适配工作还未进行。
2、由于安卓官方最新的开发适配环境Java版本仍然为Java8,为了安全与稳定考虑,对于一个广泛使用的移动操作系统来说,确保现有应用程序的稳定性和性能是至关重要的。因此,截止最新的安卓系统,目前本身也并不支持 JDK17 的相关特性。
3、针对程序开发来说,追求稳定与安全,远大于追求最新。
我找原作者重新用jdk8打包了,但是报Error: Program type already present: com.google.android.exoplayer2.ExoPlayer$AudioComponent
网上说是库冲突,但是我每个jar都查看了,并没有发现一样的类。
这是重新编译后的 e4a库 https://www.123912.com/s/RmCATd-Mb1Fd
反编译源码出来再编译就行了吧
经查,该类库中的 suiyuan_qingbianbofangqi.jar 该文件使用 JDK17 打包,而 VcnStudio 轻舟版目前只支持使用 JDK8 打包的 jar 文件。
虽然该文件内部代码并没有使用 JDK17 的任何特性,但是由于 Java 并不支持向前兼容,因此要想解决该问题,您必须重新使用 JDK8 的环境打包该 jar 文件的 java 代码为存档文件。这也意味着您必须要拥有这个 jar 文件的 java 源代码文件,然后重新使用 Java8 打包。
为什么 VcnStudio 轻舟版本不支持 JDK17 ?
1、VcnStudio 轻舟版本的视窗是基于 JDK8 的,而从 JDK9 开始,JAVA引入了模块概念,针对于 JavaFx 模块支持的适配工作还未进行。
2、由于安卓官方最新的开发适配环境Java版本仍然为Java8,为了安全与稳定考虑,对于一个广泛使用的移动操作系统来说,确保现有应用程序的稳定性和性能是至关重要的。因此,截止最新的安卓系统,目前本身也并不支持 JDK17 的相关特性。
3、针对程序开发来说,追求稳定与安全,远大于追求最新。