因为集成第三方sdk时,无法要求对方使用和vcn一样的sdk版本,所以可以选择版本至关重要。
如果要支持多个不同版本的 SDK 包时,那么核心库以及在封装类库时,就必须要额外处理或修补兼容不同版本系统中的各种碎片化问题。
由于工作量巨大,暂时不会支持该功能。
如果您在开发APP时,必须使用特定版本安卓中的某个系统功能或API,可以手动替换 安装目录/sdk/android/corelibrary 该文件夹中的 jar 包。
注意:在封装扩展类库时,也必须注意在高版本系统中存在,但低版本系统中不存在的API或功能。
关于SDK详细说明可以参考该贴:http://bbs.vcnstudio.com/?c=index&a=topic&tid=306
官方能不能提供 一些 不同版本安卓sdk jar包,自己去找都不知道去哪里下载,我看了安卓官网没有找到单独的sdk包下载,都是建议用安卓开发工具自动下载。
安卓目前整个官方建议的开发环境以及操作系统本身,支持的最新Java特性是 Java8 ,超过 Java8 的特性安卓本身是不支持的,为什么会出现 Java17 也能用?因为 Java 是向后兼容的,但是安卓 Dex 工具在打包时,如果字节码中存在超过 Java8 的语法特性特性,将会打包失败。因此很多人表面上看似是在使用 Java17 ,但是写的 Java 代码还是只能用 Java8 语法特性,也就是在安卓中相同的功能,用 Java17 和 Java8 的字节码效果是完全一样的,因为如果用了Java17的特性,打包dex一定会失败,可参考安卓dex脱糖拉姆达表达式的处理,因此就算你用Java17在编写代码时,也不能用超过Java8的特性,因此对于目前的安卓开发来说,使用 Java8 就是最安全,最稳定的,使用 Kotlin 是官方推荐的。
原来如此
那要是有的sdk是java高版本编译的怎么办,向上次那个播放器,使用的jdk17编译的,vcn就不兼容,我觉得应该兼容最高版本sdk,只要最稳定的和最新的,这样才最好。
安卓目前整个官方建议的开发环境以及操作系统本身,支持的最新Java特性是 Java8 ,超过 Java8 的特性安卓本身是不支持的,为什么会出现 Java17 也能用?因为 Java 是向后兼容的,但是安卓 Dex 工具在打包时,如果字节码中存在超过 Java8 的语法特性特性,将会打包失败。因此很多人表面上看似是在使用 Java17 ,但是写的 Java 代码还是只能用 Java8 语法特性,也就是在安卓中相同的功能,用 Java17 和 Java8 的字节码效果是完全一样的,因为如果用了Java17的特性,打包dex一定会失败,可参考安卓dex脱糖拉姆达表达式的处理,因此就算你用Java17在编写代码时,也不能用超过Java8的特性,因此对于目前的安卓开发来说,使用 Java8 就是最安全,最稳定的,使用 Kotlin 是官方推荐的。
如果要支持多个不同版本的 SDK 包时,那么核心库以及在封装类库时,就必须要额外处理或修补兼容不同版本系统中的各种碎片化问题。
由于工作量巨大,暂时不会支持该功能。
如果您在开发APP时,必须使用特定版本安卓中的某个系统功能或API,可以手动替换 安装目录/sdk/android/corelibrary 该文件夹中的 jar 包。
注意:在封装扩展类库时,也必须注意在高版本系统中存在,但低版本系统中不存在的API或功能。
关于SDK详细说明可以参考该贴:http://bbs.vcnstudio.com/?c=index&a=topic&tid=306
那要是有的sdk是java高版本编译的怎么办,向上次那个播放器,使用的jdk17编译的,vcn就不兼容,我觉得应该兼容最高版本sdk,只要最稳定的和最新的,这样才最好。
那要是有的sdk是java高版本编译的怎么办,向上次那个播放器,使用的jdk17编译的,vcn就不兼容,我觉得应该兼容最高版本sdk,只要最稳定的和最新的,这样才最好。
如果要支持多个不同版本的 SDK 包时,那么核心库以及在封装类库时,就必须要额外处理或修补兼容不同版本系统中的各种碎片化问题。
由于工作量巨大,暂时不会支持该功能。
如果您在开发APP时,必须使用特定版本安卓中的某个系统功能或API,可以手动替换 安装目录/sdk/android/corelibrary 该文件夹中的 jar 包。
注意:在封装扩展类库时,也必须注意在高版本系统中存在,但低版本系统中不存在的API或功能。
关于SDK详细说明可以参考该贴:http://bbs.vcnstudio.com/?c=index&a=topic&tid=306