It looks like MapView.AddView is being called, which is explicitly disallowed. Is the source code in your app making this call? Or is it somehow being invoked otherwise? The call stack suggests that some component named "com.testfairy" might be the culprit.
No my app is not explicitly making that call. TestFairy is a site we use for deploying our apps to testers prior to doing a release to the app store, so it has nothing do with that either. Even if I deploy a release build of my app directly to my Android tablet (without TestFairy in the mix) it crashes with the same error. Oddly enough a debug build works fine.
There was another post on here that referenced the same error, but it doesn't look like it was ever solved. This is a weird one ...
That other post looks similar on the surface, but the call stack is quite different. That looks like a rendering issue, whereas this appears to be due to something making a call to MapView.AddView. Aside from the stack trace making a call there, the resulting exception message, "AddView is for internal use only," is exactly as we'd expect. It could be that the OS is invoking this for some reason, but that certainly seems odd. We have exercised 7.0 and 7.1 devices internally, so that suggests this might be something device-specific.
I just upgraded some of the Android components on my PC, specifically installing the 7.0 and 7.1.1 SDK platforms and the latest Android SDK Tools and platforms tools
So deploying and running your app to this device worked previously? With the app built in Release? If so, did you also change the target version of your app?
It could be. I'm running a Tab S SM-T800 with Android version 5.0.2 running on it. It's about 3 years old, so it's no spring chicken but was working great until I upgraded all the Android stuff on my development PC. The target version for my app has remained the same - Android 5.0 (API Level 21 - Lollipop). The target framework was Android 6.0 (Marshmallow) before, and I've tried it at Use Latest Platform (Android 7.1 (Nougat)) as well and I get the same error both ways. The Target Android version has always been Use Compile using SDK version.
You say you've exercised 7.0 and 7.1 devices internally. Was that on the 100.0 build or something more recent?
With 100.0 as well as more recent. So whatever it is, it's not a simple matter of across-the-board OS version incompatibility.
Could you try deploying a new app created from our project template to see whether that runs into the same issue?
I just deployed a vanilla Runtime template app up to Test Fairy and the same thing happened - crash at app launch. I then uninstalled the app and deployed the raw APK directly to my Android device circumventing the whole Test Fairy thing and it worked fine. So this looks like an issue specific to Test Fairy rather than something to do with the Esri API. Not sure why it's barfing on the MapView at launch time, but at least I know who the culprit is.
Thanks for all your suggestions Rich ...