From 63cf28b5d3acec6e2e8839fbd03a3769bba1ad7f Mon Sep 17 00:00:00 2001 From: kdysput Date: Tue, 18 May 2021 12:44:37 +0200 Subject: [PATCH] Handle different unity player java class name --- Runtime/Native/Android/NativeClient.cs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Runtime/Native/Android/NativeClient.cs b/Runtime/Native/Android/NativeClient.cs index 1456bffa..08def289 100644 --- a/Runtime/Native/Android/NativeClient.cs +++ b/Runtime/Native/Android/NativeClient.cs @@ -140,19 +140,27 @@ public NativeClient(string gameObjectName, BacktraceConfiguration configuration, /// Path to the native libraries directory private string GetNativeDirectoryPath() { - using (var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) - using (var activity = unityPlayer.GetStatic("currentActivity")) + using (var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { - // handle specific case when current activity is not available + // handle specific case when unity player is not available or available under different name // this case might happen for example in flutter. - if (activity == null) + if (unityPlayer == null) { return string.Empty; } - using (var context = activity.Call("getApplicationContext")) - using (var applicationInfo = context.Call("getApplicationInfo")) + using (var activity = unityPlayer.GetStatic("currentActivity")) { - return applicationInfo.Get("nativeLibraryDir"); + // handle specific case when current activity is not available + // this case might happen for example in flutter. + if (activity == null) + { + return string.Empty; + } + using (var context = activity.Call("getApplicationContext")) + using (var applicationInfo = context.Call("getApplicationInfo")) + { + return applicationInfo.Get("nativeLibraryDir"); + } } } }