Skip to content

Cannot receive OSC on android API 32 #75

@lillithrosepup

Description

@lillithrosepup
java.lang.NoSuchMethodError: No virtual method getDefinedPackage(Ljava/lang/String;)Ljava/lang/Package; in class Ljava/lang/ClassLoader; or its super classes (declaration of 'java.lang.ClassLoader' appears in /apex/com.android.art/javalib/core-oj.jar)
                                                                                                    	at com.illposed.osc.LibraryInfo.<clinit>(LibraryInfo.java:46)
                                                                                                    	at com.illposed.osc.LibraryInfo.hasStandardProtocolFamily(LibraryInfo.java:283)
                                                                                                    	at com.illposed.osc.transport.udp.UDPTransport.<init>(UDPTransport.java:61)
                                                                                                    	at com.illposed.osc.transport.OSCPort.<init>(OSCPort.java:40)
                                                                                                    	at com.illposed.osc.transport.OSCPortIn.<init>(OSCPortIn.java:108)
                                                                                                    	at com.illposed.osc.transport.OSCPortIn.<init>(OSCPortIn.java:123)
                                                                                                    	at com.illposed.osc.transport.OSCPortIn.<init>(OSCPortIn.java:132)
                                                                                                    	at com.illposed.osc.transport.OSCPortIn.<init>(OSCPortIn.java:145)
                                                                                                    	at com.illposed.osc.transport.OSCPortIn.<init>(OSCPortIn.java:160)
                                                                                                    	at com.illposed.osc.transport.OSCPortIn.<init>(OSCPortIn.java:170)```


here is the code it is running in: ```kt
package gay.lilyy.lilypad.core.osc

import com.illposed.osc.MessageSelector
import com.illposed.osc.OSCMessageEvent
import com.illposed.osc.OSCMessageListener
import com.illposed.osc.transport.OSCPortIn
import gay.lilyy.lilypad.core.modules.CoreModules
import gay.lilyy.lilypad.core.modules.Modules
import io.github.aakira.napier.Napier

object OSCReceiver {
    var receiver: OSCPortIn? = null

    val listeners: MutableList<Pair<MessageSelector, OSCMessageListener>> = mutableListOf()
    fun updateAddress() {
        if (CoreModules.Core.config!!.logs.debug) Napier.d("Updating OSC receiver address to ${CoreModules.Core.config!!.listen}")
        receiver?.close()
        receiver = OSCPortIn(CoreModules.Core.config!!.listen)
        for ((selector, listener) in listeners) {
            receiver?.dispatcher?.addListener(selector, listener)
        }
        receiver?.startListening()
    }

    init {
        updateAddress()
        addListener({ true }) {
            if (CoreModules.Core.config!!.logs.incomingData) Napier.d("Received message: ${it.message.address} ${it.message.arguments.joinToString()}")
        }
    }


    fun addListener(matches: (OSCMessageEvent) -> Boolean, listener: OSCMessageListener) {
        val selector = object : MessageSelector {
            override fun isInfoRequired(): Boolean = false

            override fun matches(event: OSCMessageEvent): Boolean {
                return matches(event)
            }
        }
        listeners += selector to listener
        receiver?.dispatcher?.addListener(selector, listener)
    }
}

i am attempting to run this on a Meta Quest 3

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions