Building for Android Xamarin ARM in Azure Devops - xamarin.android

I've created a quick build definition for a project of mine on Azure DevOps, it's a Xamarin solution. Anyway, I was assuming that once built, I could then get the APK and install it on my phone. But it's not installing, and without knowing what's actually wrong, I'm lead to believe that it may be the build configuration as I can do it fine from my local PC.
I've taken a screenshot of the configuration Xamarin options and the only choice of architecture is x86 or x64... surely I need ARM like I would on my local PC? I see nowhere to select ARM though, how do I do this? Or is this not the issue?
Nick.

I found the cause, I needed to sign the APK, for some reason I kind of expected "unknown sources" to include "Unsigned", but even though I'm using a test cert, it's now installing as expected.

Related

webGL and iOS Build Support Install failed -Unity

I don't know why I am getting this error. how can i solve this ?
(Visual studio 2019 was already installed but I never had access to the others)
Sometimes it happens... Moreover, it may not be possible to reinstall the module, since it is already marked as installed. In this case, you can do the following:
Find the folder where Unity is installed. For example: C:\Program Files\UnityEditor\2021.2.13f1
Open the modules.json file
Find the object with the parameter "name":"iOS Build Support" and in this object change the parameter "selected":true to "selected":false
Restart Unity Hub and try to reinstall iOS Build Support module
Also make sure you have enough disk space to install the components

Cordova Plugin Add/Remove for windows on a Mac

I am developing an app in Cordova that runs on iOS, Android, Windows and OSX. Everything is fine until you have to add or remove plugins. I develop the iOS, Android and OS X on a mac, and the Windows UWP on a windows machine.
When you try to add or remove a plugin you are stuck because on the mac I get the following error: "The platform "windows" does not appear to be a valid cordova platform." and fails.
When you try to add or remove a plugin on windows I get the following error: "The platform "android (or ios or osx)" does not appear to be a valid cordova platform." and fails.
Currently I remove windows from the platforms on the Windows computer, check the project in to github, check it out on my mac and and edit plugins for android/ios/osx then check it back in. After that I pull on my Windows and re-add the platform. The problem with this is cordova does not remember any images, app store associations, nuget packets etc making it a painstaking process that leads to many bugs.
Is there a way to ONLY add/remove a plugin on windows on the windows computer, and only for ios/android/osx on the mac and somehow make it all go together?
I would suspect this is happening because the platforms are not being successfully installed / removed. If you look in the platforms/ folder, check to see that the platforms that are acting up actually have valid folder structure and contents. If this is the case you need to manually remove the platforms.
Instead of removing the windows platform and committing to git, you should consider using the --nosave option: cordova platform remove windows --nosave. This way the changes are not saved to your package.json or configuration.xml. This would allow you to make changes on OSX without having to constantly check in the removed windows platform.
Something that may help is using the cordova repository management tool that I have created: https://www.npmjs.com/package/cordova-clean. This will help making sure all of the changes being made to the configuration are reflected in your current working directory across your machines / branches.

Visual Studio iOS deployment fails because "The edge module has not been pre-compiled"

I am trying to deploy a HTML/CSS/JS Apache Cordova application from a windows machine to a Mac. I believe they are communicating properly through the remotebuild agent but when I attempt to build a blank project to deploy on the Mac this error is thrown at the very beginning of the build:
MDAVSCLI : error : The edge module has not been pre-compiled for node.js version v4.1.1. You must build a custom version of edge.node. Please refer to https://github.com/tjanczuk/edge for building instructions.
I have followed the link and have searched for the solution as to how to fix this error but the link does not seem to apply to what I am doing at all. I am not using any node.js functions in my code so I am confused as to why this error is occuring. I am only trying to build a nearly blank HTML page and I still get the error regardless of how simple I make the page.
How can I go about fixing this solution? what is the best way to get rid of this error or to as the error suggests pre-compile edge to work with node.js version 4.1.1?
There is an issue with Cordova 5.3.1 and Node v4.
https://github.com/Microsoft/cordova-docs/blob/master/articles/known-issues/known-issues-ios.md#building-for-ios-hangs-when-nodejs-v40-is-installed
I fixed by uninstalling Node v4.1.1 and installing Node v0.12.7
https://nodejs.org/en/download/releases/
#Dustin,
you have a misconception about how Cordova works. You say you want to deploy to a Mac, but I think you mean iOS. If so, you should read:
What's needed for iOS Development?
https://groups.google.com/forum/?fromgroups=#!topic/phonegap/bf1Hgkel3W4
I Quote
The short and sweet of it is as follows:
You need OS X + Xcode
You need several iDevices
You need $99/year for Apple Developer program (which you've already indicated is not a problem)
All of the above = cost-of-doing-business.
If you read the entire thread (especially the part from Kerri Shotz), you will get more information and more options.
Best of Luck
After losing a fair bit of hope and following a lot of posts, blogs and bug work-arounds with no luck I decided to click on the 'Run Dependency Checker' button in Visual Studio - Tools -> Options -> Tools For Apache Cordova -> Cordov Tools. This checker told me that Joyent Node.js wast installed. I did have node.js and npm set up on the latest version, im not sure what the difference is.
I went through the process of modifying the VS installation (change or remove a program) and sure enough Joyent Node.js wasnt checked. I cheked it and it went through the process of installing.
My VS installation now looks like the below and my project is building without:
MDAVSCLI : error : The edge module has not been pre-compiled for node.js version v4.1.1

Unable to find ant program

I am an experienced (but retired) Windows software developer, with more years experience than I care to admit, developing in C++, C#, VB and Java. I therefore decided to have a crack at Android development. My development machine is a Windows 7 box. My IDE of choice would be Microsoft Visual Studio but, for now, I am happy doing hand editing and launching tools from the command line.
I started by downloading the Android SDK and various additional items it suggested. I then started working my way through the tutorial at developer.android.com/training/basics/firstapp. Android list targets gave me a couple of choices (Android 4.2.2 and Google APIs:17). I then did Android create project from the command line and that appeared to do its stuff, creating MyFirstApp in my development folder. I then ran Android avd and created an emulator. I also added the android SDK's tools and platform-tools to my path. So far so good.
I fell at the next hurdle. The tutorial told me to change to the root folder of my project and run ant debug. At this point, Windows reports:
'ant' is not recognized as an internal or external command,
operable program or batch file.
I've searched around for ant.exe without success. Did I miss installing something or did I miss a vital step in the set-up? Any advice for this very green newbie would be greatly appreciated.
There is no ant.exe. Only ant.bat. Ant is a Java build tool.
If it comes with the Android SDK, make sure its bin directory is in your PATH environment variable. Otherwise, download it (from [http://ant.apache.org][1]), and follow the installation instructions on the web site.
Normally, simply unzipping it, putting its bin directory in the PATH envieonment variable, and setting a JAVA_HOME environment variable that points to your preferred JDK directory is sufficient.

How do I run D3D9 programs (that have already been compiled) on a machine without the SDK?

I have a simple 3D application programmed in C++ and D3D9 using MSVC++ 2008 Express. Some weeks ago, I had to format my hard disk, so the DirectX SDK is not currently installed.
However, I found that the exe file that I found in my "Debug" folder for the project does not run. The error it gives is:
"This application has failed to start because d3dx9d_38.dll was not found. Re-installing the application may fix this problem."
Of course, it worked after I installed the SDK. Then I compiled a "release build" thinking that that was the solution. Then I uninstalled the SDK and tried to run the .exe file.
Still gave me the error.
So how does one make such .exe files run on machines without the SDK?
I think you cannot run the app without the SDK. See XBMC, which requires the SDK to run.
However, you could try simply placing the required dll file from your SDK in the same directory as the executable.
I followed the solution as stated here.
I copied the d3dx9_38.dll file into my Release folder. It still didn't work. However, I renamed the dll file to "d3dx9d_38.dll. Then it worked.
Wondering why I had to rename to the debug version of the file even though it was a RELEASE build...

Resources