[Android Software Development] Don Pelayo:
Okay. So I did as you suggested and removed both adb.exe and fastboot .exe from the AndroidLib solution. I then proceeded to add (not "add as a link", but "add") the ones that correctly detect the device, located in the folder I had set as an environmental variable path in windows, I cleaned and rebuilt. After getting no complite time errors, I went to the examples solution and cleaned and rebuilt using the new dlls which have the correct adb and fastboot files.

Full of hope and expectancy, I proceeded to execute the SimpleButtonCheck example and... Alas! An unhandled ArgumentNullException is thrown within AndroidLib in the "Extract.cs" file. This is a static class with two methods in charge of extracting "multiple embedded resources from calling assembly". The following one is the culprit:

/// <summary>
/// Extracts Multiple Embedded Resources From Calling Assembly
/// </summary>
/// <param name="obj">Object To Derive Default Namespace From</param>
/// <param name="internalFolderPath">Period . Delimited path of embedded resources in assembly</param>
/// <param name="fullPathOfItems">Exact Names Of Embedded Resources to Extract</param>
/// <param name="outDirectory">Full Directory of Path For Extracted Resources</param>
internal static void Resources(object obj, string outDirectory, string internalFolderPath, params string[] fullPathOfItems)
{
Assembly assembly = Assembly.GetCallingAssembly();
string defaultNamespace = obj.GetType().Namespace;

foreach (string item in fullPathOfItems)
using (Stream s = assembly.GetManifestResourceStream(defaultNamespace + "." + (internalFolderPath == null ? "" : internalFolderPath + ".") + item))
using (BinaryReader r = new BinaryReader(s))
using (FileStream fs = new FileStream(outDirectory + "\\" + item, FileMode.OpenOrCreate))
using (BinaryWriter w = new BinaryWriter(fs))
w.Write(r.ReadBytes((int)s.Length));
}

The exception is thrown in the second line of the foreach: "using (BinaryReader r = new BinaryReader(s))", because the Stream "s" is set to null by the assembly.GetManifestResourceStream method in previous line of code "using (Stream s = assembly.GetManifestResourceStream(defaultNamespace + "." + (internalFolderPath == null ? "" : internalFolderPath + ".") + item))". "fullPathofItems" contains four strings: "adb.exe", the names of the two dlls, and "fastboot.exe"; the exception is thrown in the first iteration of the foreach, so item=="adb.exe".

Msdn (https://msdn.microsoft.com/es-es/library/xc4235zt(v=vs.110).aspx) states "This method returns null if a private resource in another assembly is accessed and the caller does not have ReflectionPermission with the ReflectionPermissionFlag.MemberAccess flag". I hence assume that for some reason the AndroidLib code does not have the appropriate permission to access the two new files I embedded before.

I have read the msdn description of both "ReflectionPermission"and "ReflectionPermissionFlag.MemberAccess" but I can't figure out what to do. I have also searched the entire solution (which I assume includes the AndroidLib source code) for "ReflectionPermission" but it doesn't find any instances. Searching directly within the AndroidLib solution, including external items, shows no instances either.

I believe that for for some reason the previous adb and fastboot files didn't require these permissions and I suppose I need to somehow provide them. Any ideas?

edit: btw, I've retried adding the two other files, the dlls, which I had missed before. Same exception.