Как из программы .NET MAUI передать AssetManager в библиотеку на C++
Полученный в C# (MAUI for Android) AssetManager принимается библиотекой, но выдаёт ошибку при попытке воспользовать им. Как правильно передать AssetManager?
C# code:
...
#if ANDROID
[DllImport("library.so", EntryPoint = "SetAsset")]
public static extern void SetAsset(IntPtr env, Android.Runtime.IJavaObject assetManager);
#endif
void Proc()
{
var env = JniEnvironment.EnvironmentPointer; // JNIEnv *env
AssetManager assets = Android.App.Application.Context.Assets; // jobject
SetAsset(env, assets);
}
library.so code:
void SetAsset(JNIEnv *env, jobject assetManager)
{
AAssetManager *pAssetManager = AAssetManager_fromJava(env, assetManager); // ERROR in this place
...
}