【发布时间】:2013-06-30 00:43:37
【问题描述】:
Xamarin documentation 对此有点不清楚。如果我在构建首选项中仅勾选 armeabi 构建我的应用程序,我的应用程序会:
- 在 Play 商店中可用于 v7a 设备吗?
- 在 v7a 设备上运行?
如果它确实运行,是否有任何功能,例如使用线程会导致意外行为或崩溃?
我有一个简单的应用程序,并试图保持它的小。另外,我没有 v7a 设备来做一个快速实验。
澄清:
虽然似乎已明确接受仅使用 amreabi 库编译 Android 应用程序是“安全的,但性能不高”(请参阅这篇出色的帖子:Why use armeabi-v7a code over armeabi code?),但我认为Xamarin docs on CPU architecture适用于他们编译的 .so 库,说:
重要的是要记住,使用的 armeabi 运行时 Xamarin.Android 是线程安全的。如果有 armeabi 的应用程序 支持部署到 armeabi-v7a 设备,许多奇怪和 会发生无法解释的异常。
我已经能够在 v7a 设备上测试我刚刚使用 armeabi 编译的应用程序,并且还没有遇到任何“奇怪且无法解释的异常”。
更新:
看起来 Xamarin 文档已经更新,现在 (2014-07-14) 显示为:
重要的是要记住,使用的 armeabi 运行时 Xamarin.Android 不是线程安全的。如果一个应用程序有 armeabi 支持部署到 armeabi-v7a 设备上,很多奇怪 并且会发生无法解释的异常。
【问题讨论】:
-
除非 Xamarin 搞砸了,
armeabi代码将在 ARM v7a 设备上正常运行。它当然适用于正常的 Android NDK 开发。
标签: android build xamarin.android xamarin cpu-architecture