- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Xamarin Monodroid(libmonodroid.so
和libmonosgen-2.0.so
)生成的.so 文件是托管代码还是 native 代码?来自 this SO post看起来它们实际上是 .NET IL 二进制文件(不是本地机器代码)。一个答案甚至建议 Xamarin.Android 二进制文件是 JIT 的,可以在任何 .NET 反编译器中打开。但是,根据我的调查,这似乎不适用于 dotPeak 或 ILSpy。
然而,this other post在另一个 SE 网站上似乎与此相矛盾。需要注意的是,它们泛指的是 Android NDK。那么,是否应该在 .NET 反编译器或反汇编器(例如 Hopper 和 IDA Pro(为您提供汇编代码))上打开 native 库?
最佳答案
这些文件,libmonodroid.so 和 libmonosgen-2.0.so 是 native 库,是 Mono 和 Xamarin.Android 的核心库,这些当然基于您在 APP 中支持的 ABI/ARCH 类型。
Xamarin.Android 应用程序包与普通 Android 包具有相同的结构和布局,但增加了以下内容:
应用程序集(包含 IL)未压缩地存储在程序集文件夹中。
包含 Mono 运行时的 native 库也包括在内,并为 Android 运行时 (ART) 提供并行运行时以及与 MONO <-> ART 对话的桥梁。
在 Xamarin.Android 5.1 及更高版本中,您可以选择像 Xamarin.iOS 那样对您的程序集进行 AOT,因为 Apple 要求在 iOS 上没有 JIT/动态生成的代码。 Android 的此选项在打包属性中定义,默认情况下为 false。因此,对于已经过 AOT 的程序集,已经生成了基于 ABI/ARCH 类型的机器代码并替换了应用程序 C# IL。
关于android - monodroid .so 文件可以托管 .NET 代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32799663/
我有一个奇怪的布局问题。我用 java 开发了一个应用程序,想将它移植到 C#。移植源代码没问题,但布局是。我刚刚将 layout.xml(从 java 应用程序)的内容复制到 layout.axml
我的应用程序使用标准的 .NET RESX 方法(即 String.fr.resx、Strings.de.resx 等)本地化,在 Windows Phone 下运行良好。 我正在使用 MonoDro
我是 android 开发的新手,请原谅我的无知。我只是想弄清楚如何在我的 MonoDroid 应用程序中使用 SQLite,但我找到的每个教程都引用了我没有的 Mono.Data.Sqlite.dl
我目前正在启动一个项目,我想开发一个 Android 和桌面应用程序以使用 mono for android .我想将通用逻辑封装到一个共享库中,但目前我不确定如何容纳这两个框架。 谢谢! 最佳答案
如何使用 C# Monodroid 操作事件处理程序: m_listView.OnTouchEvent += OnTouchEvent; 它不像按钮或项目那样工作,它给出了一个错误: "Cannot
我创建了一个在 Android 设备上运行的简单网络服务器,它基本上响应在 Preview 11 之前工作的 Hello World。是否有任何重大变化导致它不再工作或者我做错了什么?应用程序崩溃 c
从这个示例开始:https://github.com/xamarin/monodroid-samples/blob/master/ApiDemo/Graphics/CameraPreview.cs 如
在具有不同屏幕尺寸和密度的不同设备上测试使用 MonoDroid 开发的应用程序时,我得到了一些非常有趣的结果。 我在我的项目中设置了以下(简化的)文件夹结构: 可绘制 图片.png drawable
Monodroid 中的这些 Android 功能有哪些等价物?找不到他们! Animation.ABSOLUTE Animation.RELATIVE_TO_SELF Animation.RELAT
ViewPager 是否可供 monodroid 开发人员使用?我看过很多像这样的 Android 教程:http://android-developers.blogspot.com/2011/08/
我只从事 Android 应用程序开发工作几天,所以请原谅我的无知。我正在尝试为 EditText 设置一个监听器,该监听器将在该字段失去焦点后触发。我在 java 中找到了一些示例,但找不到用于 m
我搜索了几个小时以找到解决此问题的有效解决方案,并设法创建了一个。我希望有人也可以使用这个解决方案。 最佳答案 private GestureDetector _gestureDetector; pr
我正在尝试安排一项服务在用户指定的时间每天运行。我正在使用时间选择器让用户控制服务在一天中的什么时间运行。 每次用户更改服务运行的时间时,我都会更新警报管理器。 这是我的代码: void Resche
我正在尝试发送一封邮件以及附加的多个文件,但是我无法将它们添加到邮件中。我这样进行: private void SendMail (List ToSend) { var Att
刚开始使用 Monodroid,目前正在研究 ListView。我在 ArrayAdapter 中添加了一个列表,我可以正确地看到我的前两个项目。但是,当我向列表中添加第三个元素时, ListView
使用 MonoTouch 完成并成功发布了我的第一个 iPhone 应用程序后,我现在正在寻找同一应用程序的 Android 版本。 MonoTouch 对我很有帮助,因为我仍然认为 Objectiv
我有一个图像(看起来像一个圆形的加载圆圈),我想围绕它自己的中心旋转。我看到很多代码建议将 PivotY 和 PivotX 设置为 0.5F 或图像的一半.两者都不起作用。经过大量试验和错误后,它确实
所以我一直在努力将一些值放入我覆盖的 OnSaveInstanceState 中的一个包中。我需要在 Activity 重启时保存一些类对象,这意味着它们必须是可分割的,这对于 Monodroid 来
听说可以用C#开发一个android软件。 (单体机器人) 但是当我研究它时,有人表示它运行起来会更慢。 你怎么看?这是真的吗?使用 C# 是否有效? 最佳答案 我们不知道。 说真的,如果有人可以将
我正在使用 MonoDroid 在 Visual Studio 2010 中开发一个 Android 应用程序。我已经很远了,能够在模拟器和 Android 设备上运行和调试我的应用程序。出于某种原因
我是一名优秀的程序员,十分优秀!