Что не так с моим использованием плагина Android в Unity?Android

Форум для тех, кто программирует под Android
Ответить
Гость
 Что не так с моим использованием плагина Android в Unity?

Сообщение Гость »


Я создал плагин для работы с LiveKit SDK в Unity.
Когда я исправляю и запускаю свое приложение на телефоне, в Android Logcat отображается ошибка.

Код: Выделить всё

2024.03.13 16:44:14.799 20358 20436 Error Unity AndroidJavaException: java.lang.NoSuchFieldError: No field INSTANCE of type Lio/livekit/android/LiveKit; in class Lio/livekit/android/LiveKit; or its superclasses (declaration of 'io.livekit.android.LiveKit' appears in /data/app/~~BC1yiJxYnjbz3X2zedFAZQ==/com.DefaultCompany.Myproject1-SgP7HCJfzbWMD53FwL8ZMQ==/base.apk)
2024.03.13 16:44:14.799 20358 20436 Error Unity java.lang.NoSuchFieldError: No field INSTANCE of type Lio/livekit/android/LiveKit; in class Lio/livekit/android/LiveKit; or its superclasses (declaration of 'io.livekit.android.LiveKit' appears in /data/app/~~BC1yiJxYnjbz3X2zedFAZQ==/com.DefaultCompany.Myproject1-SgP7HCJfzbWMD53FwL8ZMQ==/base.apk)
2024.03.13 16:44:14.799 20358 20436 Error Unity     at com.northside_shawty.unitylivekit.LiveKitManager.ConnectToRoom(LiveKitManager.kt:15)
2024.03.13 16:44:14.799 20358 20436 Error Unity     at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
2024.03.13 16:44:14.799 20358 20436 Error Unity     at com.unity3d.player.UnityPlayer.access$500(Unknown Source:0)
2024.03.13 16:44:14.799 20358 20436 Error Unity     at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:126)
2024.03.13 16:44:14.799 20358 20436 Error Unity     at android.os.Handler.dispatchMessage(Handler.java:102)
2024.03.13 16:44:14.799 20358 20436 Error Unity     at android.os.Looper.loopOnce(Looper.java:226)
2024.03.13 16:44:14.799 20358 20436 Error Unity     at andro

Я не вижу ни одного INSTANCE в классе LiveKit в их документации
Там есть только один класс, который мне нужен

Код: Выделить всё

class LiveKitManager {
fun ConnectToRoom(context: Context, url: String, token: String) {
val room = LiveKit.create(context)
CoroutineScope(Dispatchers.Main).launch {
room.connect(url, token)
val localParticipant = room.localParticipant
val videoTrack = localParticipant.createVideoTrack(
"video",
LocalVideoTrackOptions(position = CameraPosition.BACK)
)
localParticipant.publishVideoTrack(videoTrack)

val audioTrack = localParticipant.createAudioTrack(
"audio",
LocalAudioTrackOptions()
)
localParticipant.publishAudioTrack(audioTrack)

localParticipant.setCameraEnabled(true)
localParticipant.setMicrophoneEnabled(true)
}
}
}
Затем я создал свою библиотеку Android и поместил файл .aar из проекта Android в свой проект Unity.
Вот как я взаимодействую с мой плагин

Код: Выделить всё

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Stream : MonoBehaviour
{
public string url;
public string token;

void Start()
{
AndroidJavaObject liveKitManager = new AndroidJavaObject("com.northside_shawty.unitylivekit.LiveKitManager");
AndroidJavaObject context = new AndroidJavaClass("com.unity3d.player.UnityPlayer")
.GetStatic("currentActivity")
.Call("getApplicationContext");

liveKitManager.Call("ConnectToRoom", context, url, token);
}
}


Источник: https://stackoverflow.com/questions/781 ... n-in-unity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»