diff --git a/core/java/src/net/i2p/util/SystemVersion.java b/core/java/src/net/i2p/util/SystemVersion.java index a8d83755be370b429416202e2002c3a21d8d5ef7..a24759098a0a7db803417cbdc3816a6c109b7ba5 100644 --- a/core/java/src/net/i2p/util/SystemVersion.java +++ b/core/java/src/net/i2p/util/SystemVersion.java @@ -70,13 +70,19 @@ public abstract class SystemVersion { if (_isAndroid) { _oneDotSix = _androidSDK >= 9; _oneDotSeven = _androidSDK >= 19; + // https://developer.android.com/guide/platform/j8-jack.html + // some stuff in 23, some in 24 _oneDotEight = false; _oneDotNine = false; } else { - _oneDotSix = VersionComparator.comp(System.getProperty("java.version"), "1.6") >= 0; - _oneDotSeven = _oneDotSix && VersionComparator.comp(System.getProperty("java.version"), "1.7") >= 0; - _oneDotEight = _oneDotSeven && VersionComparator.comp(System.getProperty("java.version"), "1.8") >= 0; - _oneDotNine = _oneDotEight && VersionComparator.comp(System.getProperty("java.version"), "1.9") >= 0; + String version = System.getProperty("java.version"); + // handle versions like "8-ea" or "9-internal" + if (!version.startsWith("1.")) + version = "1." + version; + _oneDotSix = VersionComparator.comp(version, "1.6") >= 0; + _oneDotSeven = _oneDotSix && VersionComparator.comp(version, "1.7") >= 0; + _oneDotEight = _oneDotSeven && VersionComparator.comp(version, "1.8") >= 0; + _oneDotNine = _oneDotEight && VersionComparator.comp(version, "1.9") >= 0; } }