I'm using Visual Studio 2015, min sdk version 14.
I have read everywhere that after building a release version you need to specify internet permssions in the manifest. (although some people say that it's only neccessary if your a building for android version below x version).
This is a extract of my manifest:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:label="<app name>" android:icon="@drawable/icon"></application>
HttpWebRequest request = WebRequest.Create(urlRequest) as HttpWebRequest;
request.Headers[HttpRequestHeader.Authorization] = "my token here";
using (WebResponse response = await request.GetResponseAsync())
using (Stream stream = response.GetResponseStream())
StreamReader reader = new StreamReader(stream);
string line = string.Empty;
StringBuilder sb = new StringBuilder();
while ((line = reader.ReadLine()) != null)
T deserializedObject = JsonConvert.DeserializeObject<T>(sb.ToString());
catch (Exception ex)
throw new Exception("My custom Exception", ex.InnerException);
You are most likely running into an issue with the
Linker stripping away something that your application needs. I would highly recommend that you review our documentation on this topic here:
You can then attempt to use
linkskip (https://developer.xamarin.com/guides/android/advanced_topics/linking/#linkskip) or a custom linker configuration file(https://developer.xamarin.com/guides/cross-platform/advanced/custom_linking/) to ensure your assemblies are included in your final package.