今天我遇到了一个问题。我的项目需要使用一些使用 Java 1.8 功能的库 (*.jar)。我看到越来越多的库现在使用 Java 1.8 功能(如 webRTC、exoplayer 等)。这样,我们必须进行脱糖。
脱糖允许您通过在构建过程中用旧的替换新的字节码和语言 API 来在旧设备上使用这些功能
使用d8.bat
(替换dx.bat
),默认情况下会打开脱糖。因此,您现在可以在针对旧设备的同时使用大多数最新的语言更改。
当我们编译一个项目时,Delphi 在后台这样做:
dx.bat --dex --output="C:\Dev\output\libwebrtc-dexed.jar" "C:\Dev\lib\libwebrtc.jar"
对于包含 Java 1.8 功能的库,这将失败。
所以 Delphi 必须这样做:
d8.bat --lib C:\SDKs\android-sdk-windows\platforms\android-28\android.jar --output="C:\Dev\output\libwebrtc-dexed.jar" "C:\Dev\ lib\libwebrtc.jar"
知道如何告诉 Delphi 使用d8.bat
而不是dx.bat
?