I've been using the runtime sdk successfully with Xamarin and Android 6.x. I just tested the same code on a Nexus 6p device running Android 7.1 and I get this error (repeated a million times) when I launch the activity with the mapview:
05-01 12:21:33.754 D/Mono (10585): [0x7306e0b450] worker starting
05-01 12:21:33.756 D/Mono (10585): [0x7306c0a450] worker starting
05-01 12:21:33.756 D/Mono (10585): [0x7306808450] worker starting
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:45: 'texture2D' : type is for Vulkan api only
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:45: 'texture2D' : cannot construct this type
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:45: 'constructor' : too many arguments
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:45: 'b' : field selection requires structure, vector, or matrix on left hand side
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:46: 'texture2D' : type is for Vulkan api only
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:46: 'texture2D' : cannot construct this type
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:46: 'constructor' : too many arguments
05-01 12:21:33.760 I/Adreno (10585): ERROR: 0:46: 'g' : field selection requires structure, vector, or matrix on left hand side
05-01 12:21:33.760 I/Adreno (10585): E
05-01 12:21:33.760 D/Mono (10585): [0x7306a09450] worker starting
05-01 12:21:33.761 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.761 D/Mono (10585): Searching for 'CoreRT_Error_getCode'.
05-01 12:21:33.761 D/Mono (10585): Probing 'CoreRT_Error_getCode'.
05-01 12:21:33.761 D/Mono (10585): Found as 'CoreRT_Error_getCode'.
05-01 12:21:33.762 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.762 D/Mono (10585): Searching for 'CoreRT_Error_getDomain'.
05-01 12:21:33.762 D/Mono (10585): Probing 'CoreRT_Error_getDomain'.
05-01 12:21:33.762 D/Mono (10585): Found as 'CoreRT_Error_getDomain'.
05-01 12:21:33.762 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.762 D/Mono (10585): Searching for 'CoreRT_Error_getMessage'.
05-01 12:21:33.762 D/Mono (10585): Probing 'CoreRT_Error_getMessage'.
05-01 12:21:33.763 D/Mono (10585): Found as 'CoreRT_Error_getMessage'.
05-01 12:21:33.763 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.763 D/Mono (10585): Searching for 'CoreRT_Error_getAdditionalMessage'.
05-01 12:21:33.763 D/Mono (10585): Probing 'CoreRT_Error_getAdditionalMessage'.
05-01 12:21:33.763 D/Mono (10585): Found as 'CoreRT_Error_getAdditionalMessage'.
05-01 12:21:33.765 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.765 D/Mono (10585): Searching for 'CoreRT_TileRequest_handleResponseNoDataTile'.
05-01 12:21:33.765 D/Mono (10585): Probing 'CoreRT_TileRequest_handleResponseNoDataTile'.
05-01 12:21:33.765 D/Mono (10585): Found as 'CoreRT_TileRequest_handleResponseNoDataTile'.
05-01 12:21:33.770 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.770 D/Mono (10585): Searching for 'CoreRT_Error_getAdditionalInformation'.
05-01 12:21:33.770 D/Mono (10585): Probing 'CoreRT_Error_getAdditionalInformation'.
05-01 12:21:33.770 D/Mono (10585): Found as 'CoreRT_Error_getAdditionalInformation'.
05-01 12:21:33.771 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.771 D/Mono (10585): Searching for 'CoreRT_Dictionary_getKeys'.
05-01 12:21:33.771 D/Mono (10585): Probing 'CoreRT_Dictionary_getKeys'.
05-01 12:21:33.771 D/Mono (10585): Found as 'CoreRT_Dictionary_getKeys'.
05-01 12:21:33.771 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.771 D/Mono (10585): Searching for 'CoreRT_Dictionary_at'.
05-01 12:21:33.771 D/Mono (10585): Probing 'CoreRT_Dictionary_at'.
05-01 12:21:33.771 D/Mono (10585): Found as 'CoreRT_Dictionary_at'.
05-01 12:21:33.772 D/Mono (10585): DllImport searching in: 'libRuntimeCoreNet' ('libRuntimeCoreNet.so').
05-01 12:21:33.772 D/Mono (10585): Searching for 'CoreRT_Element_getObjectType'.
05-01 12:21:33.772 D/Mono (10585): Probing 'CoreRT_Element_getObjectType'.
05-01 12:21:33.772 D/Mono (10585): Found as 'CoreRT_Element_getObjectType'.
05-01 12:21:33.775 D/Mono (10585): [0x7306a09450] hill climbing, change max number of threads 8
05-01 12:21:33.785 E/MapView (10585): Esri.ArcGISRuntime.ArcGISRuntimeException: Internal error exception: tex_quad_b8g8r8a8un_custom_filter,GL_FRAGMENT_SHADER:ERROR: 0:45: 'texture2D' : type is for Vulkan api only
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:45: 'texture2D' : cannot construct this type
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:45: 'constructor' : too many arguments
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:45: 'b' : field selection requires structure, vector, or matrix on left hand side
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:46: 'texture2D' : type is for Vulkan api only
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:46: 'texture2D' : cannot construct this type
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:46: 'constructor' : too many arguments
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:46: 'g' : field selection requires structure, vector, or matrix on left hand side
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:47: 'texture2D' : type is for Vulkan api only
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:47: 'texture2D' : cannot construct this type
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:47: 'constructor' : too many arguments
05-01 12:21:33.785 E/MapView (10585): ERROR: 0:47: 'r' : field selection requires structure, vector, or matrix on left hand side
05-01 12:21:33.785 E/MapView (10585): ERROR: 12 compilation errors. No code generated.
05-01 12:21:33.785 E/MapView (10585):
05-01 12:21:33.785 E/MapView (10585):
05-01 12:21:33.785 E/MapView (10585): at Esri.ArcGISRuntime.ArcGISException.HandleCoreError (RuntimeCoreNet.GeneratedWrappers.CoreError error, System.Boolean throwException) [0x00013] in <687a544c38e8410dbac0acfc0843ba7e>:0
05-01 12:21:33.785 E/MapView (10585): at RuntimeCoreNet.GeneratedWrappers.Interop.CheckError (System.IntPtr errorHandle, System.Boolean throwOnFailure, System.Runtime.InteropServices.GCHandle wrapperHandle) [0x0002e] in <687a544c38e8410dbac0acfc0843ba7e>:0
05-01 12:21:33.785 E/MapView (10585): at RuntimeCoreNet.GeneratedWrappers.CoreGeoView.Draw (RuntimeCoreNet.GeneratedWrappers.CoreDevice device) [0x0001f] in <687a544c38e8410dbac0acfc0843ba7e>:0
05-01 12:21:33.785 E/MapView (10585): at Esri.ArcGISRuntime.UI.Controls.MapGLSurfaceView.Android.Opengl.GLSurfaceView.IRenderer.OnDrawFrame (Javax.Microedition.Khronos.Opengles.IGL10 gl) [0x00019] in <687a544c38e8410dbac0acfc0843ba7e>:0
UPDATE: All the ESRI samples on GitHub work with this device. However, if I simply create a new android project using visual studio's templates and replace the main activity with the exact code from the "Display a Map" sample from ESRI:
[Activity(Label = "App1", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
// Create and hold reference to the used MapView
private MapView _myMapView = new MapView();
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
Title = "Display a map";
// Create the UI, setup the control references and execute initialization
CreateLayout();
Initialize();
}
private void Initialize()
{
// Create new Map with basemap
Map myMap = new Map(Basemap.CreateImagery());
// Provide used Map to the MapView
_myMapView.Map = myMap;
}
private void CreateLayout()
{
// Create a new vertical layout for the app
var layout = new LinearLayout(this) { Orientation = Orientation.Vertical };
// Add the map view to the layout
layout.AddView(_myMapView);
// Show the layout in the app
SetContentView(layout);
}
}
Running this results in the same error on that device. So, I can't tell why the sample code works when deployed from the ESRI projects, but the very same code doesn't work in a new project.