[RAD Studio 10.2 Tokyo] Error:java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major错误解决
RAD Studio 10.2 Tokyo增加Linux,简直是大喜大贺,对于黑户来说更是窃喜
在安装使用后在安卓开发碰到以下问题,记录一下步骤:
使用开始菜单中自带的Android Tool来更新编译环境
1)Android SDK Tool升级
安装后发现自带的Android SDK Tool版本已经升级到24.3.3,直接将Android SDK Tool怒升到最新的25.2.5,
2)Android Platform-tools
貌似Platform-tools没有自带,就顺便也升级到最新的25.0.4,
3)Android Build-Tools
发现之前安装的XE7里已经有了Build-Tools,可惜是22.0.1的,顿时对最新的25.0.2产生追求,下!
4)Android SDK Platform
同样也只有之前XE7的22版本,不想用了,直接下载最新的25版本
5)新建FMX工程-编译
失败,报错,查看output发现 Error:java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major 52
然后只能去百度寻址天涯沦落人,发现脱离苦海的人留下启示,Build-Tools版本与jdk版本不符合,说是要使用jdk1.7或降低Build-Tools到23。
当然那些人大部分是使用eclipse + jdk1.6开发碰到的问题。
版本不符合的原因是正确的,但也不太正确,因为我使用的确实是jdk1.7,在eclipse中使用Build-Tools 24也不会有问题,不应该会有版本错误才对。
后面根据错误信息里的编译命令推断,应该是delphi自带的android开发所使用的相关DEX包版本问题,猜测那几个DEX编译时使用的Build-Tools版本是22或23,新的编译环境Build-Tools使用了24或者25都会失败.
6)解决错误
后面把XE7的Build-Tools 22.0.1拷贝过来,修改RAD-Tools-SDK Manager中的路径后编译通过,
下载了23.0.3后修改路径也可以编译通过。
但是建议 Build-Tools 和 SDK Platform设置为同一级别的版本(虽然使用的SDK Platform低于Build-Tools时应该也能兼容,没去细测)