I’m happy to announce a new MOE release with lots of changes!
First of all as a note, noisyfox is currently not actively working on MOE, so for the time being I took over as the main maintainer.
Breaking Changes
- Need to refresh the xcode project settings through Inject/Refresh Xcode Project Settings option in Android Studio/Intellij, or with the
moeUpdateXcodeSettings
gradle task. - armv7 support has been dropped and min deployment target is now iOS 11
- Proguard configurations for java serialization support is now opt-in. You can enable it with
moe.proguard.serializationSupport = true
- The
AVFoundation
framework has been split up toAVFAudio
andAVFoundation
. Imports may need to be adjusted. - Some structs have been moved to the
CoreFoundation
framework. Imports may need to be adjusted. Libraries should be unaffected, since packages will be automatically rewritten.
SDK Changes
- Bindings have been updated to iOS 17.2
- Nullability information is now added to bindings through the jetbrains annotation
@Nullable
and@NotNull
- Deprecation notes have been improved. More classes and methods are now marked deprecated. The comments will now state too, since which iOS version
- Macros will now generate java constants of appropriate type
- Backported
java.lang.ThreadLocal#withInitial
andjava.util.concurrent.CompletableFuture
Gradle Changes
- Added support for Linux for remote building
- Fixed some issues with backporting
- Improved file transfer speed and M1 support for remote build
IntelliJ changes
- Improved JDK detection
- Fixed compatibility with newer IJ versions
Build Changes
- Fixed an issue, where App Store would report multiple executable segments as warning
- Fixed an rare race with WeakReference, that could lead to a segfault
java.io.tmpdir
is now set correctly and all JRE code that relies on it will now function properly.
Misc
A new libGDX MOE backend version 1.12.1 has been released, that is compatible with MOE 1.10.0
Install / Upgrade
Simply change your build script to use the new plugin and SDK:
buildscript {
dependencies {
classpath group: 'org.multi-os-engine', name: 'moe-gradle', version: ‘1.10.0’
}
}
Don’t forget to refresh the xcode project settings through Inject/Refresh Xcode Project Settings option in Android Studio/Intellij, or with the moeUpdateXcodeSettings
gradle task.
Known issues
- Debugging on iOS 17 devices is not possible, because of currently missing support in libimobiledevice Current status of the support for iOS 17 · Issue #1490 · libimobiledevice/libimobiledevice · GitHub
- If the Android Gradle Plugin below 7.1.3 is added to the buildscript classpath in the root build.gradle file, a
java.lang.IllegalArgumentException (no error message)
may be thrown when building. To workaround this, either upgrade to AGP 7.1.3 or move the buildscript block to the android build.gradle file. - gradle 8.4-8.8 does not work with MOE, see Valid class fails with "java.lang.ClassFormatError" during plugin application · Issue #28389 · gradle/gradle · GitHub
Contributors
Special thank to @yura for helping out with the IntelliJ plugin fixes