android动态加载assets,从android_assets文件夹动态加载dll

请注意:您可能需要将扩展​​名更改为.mp3。见here。虽然我没有这个问题。

57c5b367ea45bdf545dab275770f783e.png

一旦你这样做,你应该能够通过使用资产管理人获得的资产。你可以加载它们或者对它们做任何事情。以下是将它们读入内存并写出名称的示例。 const String pluginPath = "Plugins";

var pluginAssets = Assets.List(pluginPath);

foreach (var pluginAsset in pluginAssets)

{

var file = Assets.Open(pluginPath + Java.IO.File.Separator + pluginAsset);

using (var memStream = new MemoryStream())

{

file.CopyTo(memStream);

//do something fun.

var assembly = System.Reflection.Assembly.Load(memStream.ToArray());

Console.WriteLine(String.Format("Loaded: {0}", assembly.FullName));

}

}

在发布模式中,请注意,Android版Mono将对您的库执行静态分析以执行大小优化。如果在此之后加载程序集,则可能没有应包含的功能。以下屏幕截图显示了发布版本的标准链接配置。有一些标志和配置可以添加到代码中,以帮助防止链接(Xamarin Docs on Linking),但我不确定可以为动态加载的库执行的操作太多。

200d0e7988fc65ef8f1e26242c9fa00c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值