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
Version 1.10.2
SDK Changes
Deprecated all AOSP classes in preperation for MOE 2.0
Bundle MOE framework dsym
Skipped new iOS 18.x accessibility methods in NSObject, because they caused issue with dex2oat. If you need them, either use MOE 2.0.0-alpha or bind them manually.
Known Issues
For larger Apps building with XCode 16+ is broken. As a workaround ENABLE_DEBUG_DYLIB=NO needs to be set in the XCode project.
Version 2.0.0-alpha2
SDK Changes
Fixed non-ASCII String ObjC interop issue
Fixed some missed reflection registration
Proper error when encountering an unregistered JNI method
Gradle Changes
Fixed iOS simulator build
Known limitations
native-image operates on the closed world assumption. Reflection and similar might not work out of box, see here for more details: Dynamic Features of Java
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.
Notes:
The MOE snapshots are now published under https://central.sonatype.com/repository/maven-snapshots/
IntelliJ > Run Anything(Ctrl x2) > gradle moeUpdateXcodeSettings
Successful.
Gradle Task: moeLaunch
Build error:
> SDK: (home)/.moe/moe-sdk-2.0.0-alpha1
> ...
> Task :moeMainDebugX86_64IphonesimulatorNativeImage FAILED
> Execution of command (...)/bin/native-image -H:+SharedLibrary (...)
> Error: Missing CAP cache value for: NativeCodeInfo:PosixDirectives:StructInfo:struct___darwin_mcontext64:StructFieldInfo:__ss___r10
Edit: build.gradle 2.0.0-alpha1 → 2.0.0-alpha2
Gradle Task: moeLaunch
Build successful.
Successfully launched in iOS simulator.
Remove directory: build
Gradle Task: moeLaunch
Build error:
> Configure project :
...
> Could not determine the dependencies of task ':moeMainDebugR8'.
> (projectDir)/build/moe/main/validate/debug/output must be a directory
I will take a look, thank you @ark100 .
As a better workaround, I think you can just add file("build/moe/main/validate/debug/output").mkdirs() somewhere in your build script. That should run before configuration phase.
Then I tried the module and got the following error:
> Task :compile
Java FAILED
error: the unnamed module reads package org.moe from both moe.ios and moe.core
error: module moe.core reads package org.moe from both moe.ios and moe.core
error: module moe.ios reads package org.moe from both moe.core and moe.ios
This is probably because the following are in the same package: