Xamarin Live Player does not load shared libraries all the time - xamarin

Context:
I have a Xamarin Android project that calls a shared library (.so) and I'm using Live Player to run the app on my device.
Problem:
The app only runs fine sometimes. When it doesn't, I get no exception at Visual Studio and I only get a one-line exception from the Live Player on my phone as follows:
[LogEntry: Time=7/10/2018 4:42:26 PM -07:00, Level=Error,
Title=Visualization Error, Message=No body on method System.Int32
TestMobileLib.LibFacade::getInt(System.UInt32) (NInterpretException)]
Attempts:
I tried uninstalling the apk from my phone. It doesn't work all the time.
I also tried renaming the Android application package name to make it look like a new app. Doesn't work all the time either
Reinstalled the Live Player. No luck.
Re-paired my phone. No luck.
Tried it on a different device. Same random behavior.
Restarted the machine. No luck
Any assistance is highly appreciated. Thanks.

Thanks to the comments above by SuhiHangover and Bruno, I figured out the difference between running an app via Live Player vs. on the device itself. While Both solutions run the app on your device, the latter is much more stable at least when the project depends on a set of user-defined shared libraries.
As also noted in here, Live Player seems to be optimal to support rapid prototyping on device, where changes you make the front-end markup (e.g., XAML files) can be instantly synchronized wirelessly. Xamarin Live Player, however, is limited when more need to be tested. The list of limitations are mentioned here.

Related

Difference in behavior between Xcode and OTA Ad-hoc distribution

I have my app working to my satisfaction both in the simulator and on two devices when debugging through Xcode 4.3.2. I use OTA Ad-hoc distribution to send to my beta testers. After archiving, saving, and uploading my ipa and plist file to my website, I then download and successfully install the app on my phone.
Sounds good, right?
HOWEVER, I am using CoreAudio and CoreData, and low and behold suddenly there is no sound in my app. I delete and install OTA on the same devices I am debugging with, so I am at a loss to where the problem is occurring.
I have a feeling that there might be an underlying problem with my Core Data model (which feeds my sound) but checks upon checks seem to verify that it is working. It DOES work when I install from Xcode, unplug, close, and reopen the app on the device. Only the OTA install has this problem.
Has anyone encountered any differences in behavior like this? I checked my build settings and the only difference I see for AdHoc is using the Entitlements.plist, which only useful setting appears to be NO to debugging.

Accessing iOS filesystem for Mac

I was trying out the mac app DiskAid and found it does everything that I need to be able to do in the app I am writing. DiskAid appears to have complete access to the filesystem on my iPad. This is not limited to the shared files by the applications on the iPad - not by a long shot. DiskAid sees all the files for every app on the device (sharer or otherwise). It is also not limited to files in the Documents directory for each app. It sees all files down to root level.
I was also amazed when I discovered that iTunes doesn't even have to be running for all of this to work. Also I don't recall having to authenticate in any way (apple ID or anything like that) I just plug in the device via usb and away she goes.
I've been searching for days now and have not found anything that even hints that this is even possible. Yet we know it is.
Does anyone have any idea how they are pulling this off. By the way my device is not jailbroken.
Any help with this would be greatly appreciated. Thanks.
There is info DigiDNA blog that what they use is Apple Mobile Device Service library, which they say function as driver to Apple device. A google search to the library brought me to the Iphone Wiki site about reverse engineered C header files needed to link to the library. Hope it will be useful.

Android NDK debugging on HTC Incredible S

I have recently had to change my work Android phone to an HTC Incredible S to use for Android NDK debugging. Unfortunately, the ndk-gdb script fails to attach the debugger, coming up with the error run-as: Package my.package has corrupt installation. I have tried all the usual fixes - uninstalling and reinstalling the apk, cleaning and rebuilding in Eclipse - several times, but to no avail. Also, I know the project is set up properly for debugging as I have been doing so successfully for a few weeks on a Nexus S.
Has anyone had any success with Android NDK on the Incredible S? And if so, did you have to do anything particular? I realise it may be necessary to root the phone and change the permissions of /data/data, but I want to avoid this if at all possible.
Thanks
EDIT: Okay, I've also tried the HTC Desire S, with similar results. Could anyone tell me of a phone they've used successfully for NDK multi-threaded debugging without rooting that's not the Nexus S? I've tried the Galaxy S II - the debugger connected but none of the breakpoints were hit - I think this is down to the Tegra chip at its core.
From my research with various phones, it seems that HTC Sense (or something that HTC add) changes something deep within Android that makes run-as fail (as it is so picky about the filesystem due to its SUID bit - fair enough). So if this helps anyone else - I would avoid trying to use an HTC for debugging (rooting might help, but I haven't tested it).
Phones that I have had success with are:
Google Nexus S and the Google Nexus One (I'm thinking any Google-branded phone with stock Android on will work).
Sony Xperia Play.

WP7 XNA Framework application requirements

I am having problems debugging a Windows Phone XNA game application. I can build it, but when emulator shows up I get the error:
The current display adapter does not meet the emulator requirements to run XNA Framework applications.
I've read many topics on the same issue and in most cases the reason was not good enough graphics card. I don't think that's why I get this error. I would also like to mention that I can run Silverlight applications for WP7. Here are some screenshots:
DxDiag window
DxDiag display window
I also downloaded latest ATI Catalyst package today but it didn't help. Any ideas?
Thanks!
EDIT:
This is what I have just found out:
Is this maybe causing a problem. I am not sure because the error says the issue with display adapter.
you could try to override the requirements check, however make sure you backup your registry and you are on your own if something goes wrong:
HKEY_LOCAL_MACHINE\Software\Microsoft\XDE XNAEnableGPU = 1 (REG_DWORD)

DirectX application doesn't work over Remote Desktop

I have a WPF application which has a DirectX component within it. This component does not work over Remote Desktop--it just shows a corrupted image. The application works fine when not using Remote Desktop.
In trying to debug the problem I installed the February 2010 DirectX SDK. Now, when I run the program on the computer with the SDK and Remote Desktop to it from a separate computer, the component works just fine. However the opposite does not work--trying to use the application over Remote Desktop when it is running on the computer without the DirectX SDK (it has the original problem with the corrupted image).
I have already compared the loaded DLLs (using Process Explorer) between running the application on my SDK machine and non-SDK machine. They both are loading the same DLL versions.
What else could be causing this behavior?
EDIT: I have discovered that the application actually is loading a different DLL. I didn't notice because I didn't capture the DLL list properly. When I run the application on the machine with the SDK it loads D3DREF9.dll, the DirectX reference rasterizer. This gives me a clue as to what the problem is, although I am still working out the solution.
It turns out that the application that I was maintaining was attempting to create a DirectX Hardware device, and if that failed, it would attempt to create a Reference device, and finally, if both of those failed, it would create a Software device.
There is no Reference or Software renderer available on systems by default. To get a Reference renderer the DirectX SDK must be installed--and you're only supposed to use it for debugging, not deployment. For a software renderer, the system only needs .NET 3.5 SP1 and then the software must load it.
Basically I believe the problem was that the software was failing to create the rendering device properly. I've cleaned up the initialization code and it renders over Remote Desktop just fine now.
Try reducing the performance/experience display options in RemDesk. I'd start with turning off Bitmap Caching, reducing the color depth, etc..
DirectX hardware acceleration is disabled by design for native remote desktop functionality: http://support.microsoft.com/kb/260565

Resources