Xamarin.Forms - Deploy via e-mail giving me fits - xamarin.android

I made a nice (aren't they all) app using VS 2013, debugged, tested etc. without much fuss and muss.
Now I want to pass it out to some friends for reality check, and so used the VS2015.Tools.Android.Publish Android App... feature.
I followed the instructions, got a Release build signed APK (and a non-signed APK too). I e-mailed the signed APK to myself on the Motorola Razr Turbo, and installed just fine.
However, it does not run. It just flashes up then terminates. I have reviewed the Xamarin instructions and tried a number of things but I am blocked for now. This app runs fine on the same phone after I have deployed it during development (Release build as well as Debug).
I feel I am missing something obvious to all those who have traveled this path before, and really would appreciate a pointer to a happier place.

Two things to check:
I often have to uninstall the previous version of the app (the one deployed during debugging/development).
Also, if the app requires some special permissions, check that those are still allowed.

Got it! Ah yes, have to run the old zipalign on the signed package. Help here (thanks Nigel) took me to use LogCat, and there was the problem. Found some more help at:
https://forums.xamarin.com/discussion/4169/apk-no-longer-working-on-device
and put together a batch file to run it; one line:
"C:\Users\mike\AppData\Local\Android\android-sdk\build-tools\23.0.3\zipalign.exe" -f -v 4 ./bin/Release/MyFineApp.SoNice-Signed.apk ./WillRunNow.apk

Related

The Cytoscape v3.9.0 application does not start

I have a question regarding Cytoscape. I just downloaded the newest version (v3.9.0) for Windows, but I am not able to open the actual application. Before I used v3.6.1 which ran perfectly fine, but I want to make use of the KEGGscape app which requires Cytoscape v3.8.0 or higher.
I have deleted the previous installation of Cytoscape, as well as made sure the cache was cleared. In addition, I downloaded the correct version of Java (Java version 11) and checked the system requirements with the script available on the website, which summarised: "Succes! You are ready to run Cytoscape 3.9.0."
So I am not exactly sure what I am missing and why it is not starting and hope anyone can help.
Thank you in advance.
Kind regards,
Sorry to hear you are having problems. When you say it doesn't start, does it correctly install, and the application doesn't start when you double-click it, or does the installer never start? If it's the former -- Cytoscape installs, but doesn't start, you could try opening up a console window and run cytoscape.bat from the directory that you installed it. That should give us more information about what the problem is. There should also be a file called framework-cytoscape.log in the CytoscapeConfiguration\3\ directory in your home. That will give us more information also.
-- scooter

Uno Platform - xamarin No Virtual method getTargetState()

I recently updated Visual Studio 2019 to 16.9. When it updated- there was a message indicating that the Android SDK was updated. When I go to run the IOS version of my Uno Project- it runs fine. However- when I go to run it on the Android version- I have had a few issues. At first it would not compile- but after doing some web searches I found I needed to reenable AAPT. I am now able to compile it- but I get an exception when I run the app on my android device. It says no virtual method getTargetState()- and then lists the library as the picture shows. I checked Nuget for any package updates and applied them- but still have the same error. It is showing a method missing- that presumably was there earlier. I am not sure how to resolve this- so any help would be appreciated.
I started thinking about what Leo Zhu said above and it made me think- there was no update to the package mentioned. Maybe there was a breaking change in the package that was installed? So- I downgraded it to 2.2.0.3- and it is working again. One point to make is I was using the latest alpha release- so a breaking change is not surprising. I hope this helps someone else that encounters this issue or a similar issue.

Command line access to iOS app directory (sandbox) from Mac

I need to access the sandbox directory for an application installed on an iOS device, using the command line (non-gui) from a Mac or Linux. This is to help with development and testing automation. Dropping a json file into the sandbox lets me set parameters like extra debug messages and smaller refresh intervals.
A tool like iFunBox works perfectly but is graphical only, requiring numerous clicks to do this. Emails to the developers were unanswered. It also does not support AppleScript. I did find another app that provided a Fuse module, but it turned out buggy especially if the app was uninstalled and then reinstalled (in order to reset back to first time user experience). I reported the problems to the developer but there is no fix on the horizon.
The things I need to do are:
Test if an app with a specific bundle id is installed
Create Library/Caches/MYLIBNAME directory if it doesn't exist
Copy a ~100 byte json file from the Mac to that directory
Get a copy of that file
A solution that only works from Linux is acceptable too
Devices are not jailbroken and I would prefer not to need that as a requirement
In some cases I do not have the source code to the app since it is a third party using my library, so compiling different versions of the app isn't practical.
Answer is below in many comments thanks to lxt. Summary is:
Various libraries and programs associated with libimobiledevice can solve the problems
Use patched iFuse to mount an application sandbox
Use idevicesyslog to see the console log
Use ideviceinstaller to install/uninstall apps
The various libraries and programs associated with libimobiledevice are incredibly difficult if not impossible to compile as is on Linux or Mac, and there is no unified distribution of the source or binaries
For Ubuntu try libimobiledevice (may have 3 suffix), ideviceinstaller and libimobiledevice-utils packages
For Mac a search for libimobiledevice-macosx may get you some of the way there
This is going to be a little tricky, because as I think you've found out the application name is randomly generated on every install. I don't think there is a way past that, certainly that I know of. This explains the problems you're running into when simulating a new install (...the app directory name changes to a new, random hash, and then you're stuck).
Although my preference would be to access this config file in some other way (perhaps over a network, and have some code that only executes on debug/test builds check for it), if you did want to do this then I'd suggest trying something like writing a script that when you want to simulate a new install chooses the app directory that's most recently modified. But this is very hacky.
If you're not able to insert conditional code that only executes on debug/ test builds then I think the random app naming schema that iOS uses at a file system level is going to be problematic for you whatever approach you take.
Update: Regarding iFuse and libimobiledevice - out of the box it limits you to the documents directory. This is because the authors of iFuse don't entry-level users to be confused, and also because the structure is a little different depending on iOS version. You can comment out the lines in the iFuse source - fuse_opt_add_arg(&args, "-osubdir=Documents"); - to get access to the library directory through the mount. You will obviously need to re-compile iFuse yourself if doing this.
You can make use of MobileDevice Library
I know this is an old question and I doubt anyone is looking here anymore, but I thought I'd mention that you can use 'brew install libimobiledevice' to compile on the mac. There are a lot of dependencies and Homebrew really helps make it an easy process by installing them for you.

XNA 4.0 ClickOnce game does not run after installation

Okay, I have been looking all over to solve this problem before I actually broke down and decided to finally ask for my psecific problem. I am using ClickOnce installation and when I use the setup.exe to install nothing runs, not even on my personal computer that I know has all of the proper libraries and such. I'm not sure what I am doing wrong so it is difficult to explain the problem.
I have included dotNetFramework4.0 client x86 x64 , xna redistributable 4.0 and windows installer 3.1 along with my game and I have it set to install all of that with setup , also I have it set to download prereqs from same location as application. I've tried it on three separate computers , one that does not have XNA or VS C# installed and the same problem occurs.
Here is the problem , after I install the game nothing runs, I try clicking on the ClickOnce application file (the one with my game's icon image) and again nothing happens. The thing that really bugs me is that there isn't any errors or crashes or anything , it's almost like clicking on the desktop screen. (I looked at the properties of the "shortcut" that was installed with the game and the file size of the shortcut is like 300 bytes. Isn't that really small? I was thinking maybe there is a problem with a startup executable? I'm not sure though.)
I've tried tweaking some stuff in the Publish section of my project , such as un-checking the box that says "use .deploy extension files" (I don't know why, I've been grasping at straws here) I've been looking into some other installers such as NSIS but I don't know how to compile a list of files to include in other installers and I feel like that won't solve the problem anyway because I've gotten ClickOnce to work with me before.
On one computer there was an error report that said something about 'deployment and application do not have matching security zones.'
Game.application resulted in exception. Following failure messages were detected:
+ Deployment and application do not have matching security zones.
It's getting late so if I need to provide more information let me know.
ClickOnce can be a fickle thing. There are times that I've had errors occur that could only be solved by recreating an entire Windows user profile. Because there are so many different options for ClickOnce, it's going to be hard for me to diagnose your exact issue, so I can only offer what options I used to successfully install via ClickOnce.
Publishing Folder: local folder
Installation Folder URL: blank
Install Mode: offline
Application Files
Make sure the Publish Status of your game files is set to Include (Auto)
Make sure the Publish Status of the XNA libraries is set to Prerequisite (Auto)
Click Prerequisites
Microsoft .NET Framework 4 Client Profile
Microsoft XNA Framework Redistributable 4.0
Windows Installer 3.1
Do not check for updates
Everything else default under Options (publisher/suite name shouldn't affect anything)
Specify the version number
Publish Now
Install the game through the setup.exe provided in the publish location. I always distribute every file that is publishes. However, you can clean up old versions in the "Application Files" folder if you don't want the history to be distributed.
You can double check the "Application Files" folder to see if your version got published correctly (look at the files that were deployed and see if they match your project contents).

application wont start or load in blackberry simulator

I'm developing an application on two different machines (home and work) and while the home one seems to run just fine, the work one is, for lack of a better word, possessed. It has been exhibiting the following issues:
When loading the application, it will start at the simulator's main screen instead of starting the application at random intervals. You can start the application and have it work fine, then close the simulator, reload, and have the same codebase not load.
Going to applications doesn't show the application itself, in fact it never does.
Trying to load the applications cod file (File->load java program) never works. Tried the steps in this thread, with unreliable results.
Extremely small changes, such as modifying the value of a width variable by one, commenting out a function such as makeMenu or adding a button will cause code to no longer work, with no errors shown by the IDE.
Using clear.bat with sometimes work, sometimes not. Same with manually removing all files with the name of the project.
reinstalling the eclipse environment and the blackberry plugin did nothing more then burn off an hour.
having "load on startup" in the blackberry_app_descriptor.xml file is set.
Both systems are using Eclipse 3.5.1, BB plugin for eclipse 1.1 beta, Java 4.5 with the 8300 simulator. THe only difference that I am seeing is the operating system between the two systems. The work one being XP Sp3, home being vista. THe vista one isn't perfect, but I can test variable changes without flipping a coin to see if the app will even load or not.
I've tried the solutions that were similar on this forum, such as this one, but it looked to be that those solutions are dated as none of the options for the steps existed in my eclipse install.
So has anyone ran into such baffling behavior, and can it be fixed? Anything that I might have missed that could be tried?
I've been seeing this behavior with the new 1.1 plugin, the application doesn't load on startup and the FIle->load java program doesn't help. For me, the solution was I have to run a clean build every time, that is the eclipse clean and build instead of just build, not the clean.bat... Hope this helps!
Try clearing resources that have improper naming structure in your projects stuff with spaces or special character in the name of the file.
It took me two days to figure out.
One solution i got regarding your problem.
As I See Please run the application first time as Run as blackberry simulator
that is got start and here pick up run and then Run as Blackberry simulator

Resources