I am hoping to work with Xamarin for a project, primarily to learn a little about cross-platform app development, and would prefer to stick to developing on Linux. This led me to attempt to work with the JetBrains Rider IDE, something that I believed to be fairly well documented, as per these resources:
Xamarin.Android on Linux (in coordination with its Ubuntu 19.04 update post)
Failed to load Xamarin Forms project with .NET Standard 2.0 Lib in Rider
0xFireball's Xamarin.Android on Linux guide with associated Rider/IDE setup
I've been able to install everything just fine, Android Studio and Rider were installed via JetBrains Toolbox (I also tried installing Rider manually, but it made no change), and I am able to create the project and configure the Android settings for the Xamarin project.
This is where my luck ends, since despite trying the various resources I've linked above, including reinstalling mono and dotnet-sdk multiple times, I get this error no matter what I try:
Xamarin SDK was not found: Rider was unable to find Xamarin SDK on
this machine. Xamarin-based projects will not be loaded. Please
install Xamarin SDK or change toolset.
I've tried following the instructions both on a manually installed Rider 2019.1.3 (Build #RD-191.7141.460) and Rider 2019.2 EAP (Build #RD-192.5895.291).
I'm fairly new to the world of Xamarin, so I'm not sure where to begin looking. What exactly is the Xamarin SDK (is it just Xamarin.Android?), and what should I be checking my setup for in order for Rider to detect the Xamarin SDK?
It appears that what Rider installs via its Environment page, is only the Xamarin Android package. Not the actually Android Studio SDK, which is needed to develop any android apps. You have to download that separately.
Related
We are using Unity 2018.3.8f1.
We have added Android Build Support from Unity Hub - Add Component:
But if we go to Unity Preferences - External Tools, the Android SDK location is empty:
I have not been able to find the location of the Android SDK folder anywhere. I'm wondering if the component installed by Unity Hub is something different to Android SDK. Maybe it must be installed separately from: https://developer.android.com/studio?pkg=tools#downloads?
UPDATE
So far I have installed "Command line tools only" from the previous link. Then, I have installed OpenSDK (Vistual Studio did it for me: it asked me to update and install it as one of the things to update).
But when I opened tools/bin/sdkmanager, it said "Java is not installed". So I also installed Oracle Java SDK. Unfortunately tools/bin/sdkmanager returned errors after it. I applied a few workarounds I found by googling the errors. Still not luck.
So I have moved to the easy way: installing the full version of Android Studio. If we choose custom, we'll see that Android SDK Platform is going to be installed:
So it is working, but I still have not idea of how many things I have duplicated on my system wasting space. I have:
The Android component installed from Unity Hub
Android Studio installed, which comes with the emulator and the IDE (I don't need them)
OpenSDK (installed by Visual Studio)
An embedded version of Java in Unity
Oracle Java
Are they all actually needed? I don't think so!
It seems the only thing you are wondering is if the component installed by Unity hub is something different to Android SDK... the short answer is yes. You have to download it on the Android Developer SDK website you linked in the question. You only need the SDK under "Command line tools only" at the bottom of the page. If you do this you also need to download the jdk separatly here.
I have downloaded latest Android Studio 2.2.3 and I want to start with C examples for project Tango phone (Lenovo Phab 2 Pro) using C API. The phone itself says it's run Android 6.0.1, kernel 3.10.84 on device.
Google developer documentation for Tango Project suggest to install Android Studio with Android SDK 24.4.1, Platform tools 23.1 and NDK 11.0.0.
By installing latest Android Studio there is no offering to install those versions of tools. Is it possible to use whatever SDK for development (latest)?
Where do I find aforementioned versions?
What Android SDK & NDK version is required for phone which run Android 6.0.1?
I started using the Dev Kit which runs Android 4.4 KitKat and I just recently got the Phab 2 Pro this week and I didn't need to make any updates to my Android Studio SDK manager.
Since I am working only with the Tango and not with the underlying Android features, I have found no need to require 6.0 for I am not using any of the extra features.
Also go here and clone the repo and run the hello-world and see if you can get it to work on your phone, if so you are good to go!
the SDK Manager which is part of Android Studio offers you choices on levels of android builds like 4.4.2/5.1/6.0/6.1, etc. Platform tools package is a module within the SDK Manager which also has levels which are based on the android build. The NDK is a completely different package and depending on what you want to accomplish you might be able to not worry about it to start of with. install Android Studio and then setup the SDK Manager to cover what devices you want to build for. get the latest Platform tools package setup and you will be ready to code. once you start setting up your environment things will fall in place. for the most part the installer does the work. pay attention to the things needed prior to installing Android Studio. i think you need to install a jdk and set paths and variables.
I've installed Xamarin and tried in Visual Studio to start with a small app and test the web view with this. So for this, I've installed the JDK, the Android SDK and Android NDK on my computer. I'm working throught a tutorial for a web view and I have the problem, when I run the Main.axml, it shows me the error, that my Android SDK could not be found (look at the first attachement). When I check my location paths for the JDK, SDK and NDK, it shows me the correct path and a green tick, so the path and files are correct (look at the second attachement). But my app don't recognize it. What's the problem here? I found some threads on stackoverflow for the same problem, but nothing helped me.
1. Attachement
2. Attachement
OS: Windows 8.1
IDE: MS Visual Studio 14.0.23
Xamarin: 4.2.0
EDIT:
I also tried to open my Android SDK Manager, but this one is disabled in my visual studio. I've installed Xamarin, so it should work:
Any ideas? Thanks.
I tried so many things and finally I have the solution for my problem:
Possible reason for the problem: I just installed the Xamarin, which installes also the JDK, Android SKD and Android NDK in it's wizzard, so I thought this should be the correct versions. After installing Xamarin, I opened my Visual Studio and checked the paths (Tool - Options - Xamarin - Android seetings) for my JDK, SDK and NDK. The paths show on the versions, which were installed by Xamarin. My Android SDK Manager was disabled.
Solution: Then I uninstall everything - the JDK, SDK and NDK and also the whole Xamarin and my old Android Studio. After that, I decided to install the newest JDK from the Java website, the newes Android SDK/NDK from the Android Studio website and a plane xamarin without the sdk/jdk installation. So I could be sure, that I have the correct versions. After the installation, I again opened Visual Studio - Tool - Options - Android seetings and set the paths to the new versions. Than I checked my Android SDK Manager and it was finally enabled and so I installed also the newest Android SDK Tools. After that I cleaned and builded my solution, start it and my android emulator opens my webview page. So I think, the best way is to install the required programms from their website and not automaticlly with xamarin. Now it works. Cheers.
To keep build tool version consistency, I want to manually upgrade Xamarin on my desktop as well as my CI build server (not to be confused with a Xamarin mac build host). Running auto-update only works if I upgrade all machines at the same time.
So I go to download, and I thin I need to download Xamarin.Android - latest version is 4.0.1. No revision number is given here.
The thing is, I did run an update from Visual Studio the other day, and according to the about dialog, I'm now running "Xamarin.Android 6.0.1.10":
Xamarin 4.0.1.89 (413372c)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin.Android 6.0.1.10 (e98e962)
Visual Studio plugin to enable development for Xamarin.Android.
I've heard that the v4.0.1 relates to the Visual Studio plugin (I use VS on my desktop).
IN addition, I don't use Visual Studio on my CI build server; instead I have Xamarin Studio. When I look at pending updates for that, it's offering "Xamarin 4.0.1.93" - presumably not a Visual Studio plugin for Android Studio?
Is Xamarin telling me I'm downloading "Xamrin.Android 4.0.1" when really I'm downloading "Xamarin v4.0.1.?" which contains "Xamarin.Android v6.x.x.x".
My end-game is that I would like to be sure of what versions of Xamarin components are involved when building using MSBuild.
If I need to do a legacy build, I would like the legacy build tool to be used.
Update: I have started tracking versions myself here
Xamarin support got back to me. My understanding is:
The version number in the dropdown seems to be that of the installer that bundles both Xamarin.Android and Xamarin.iOS. It is not the version of Xamarin.Android.
Build tool version: "Xamarin.Android performs the build, so this is what you are looking for."
You can find out roughly what version of "Xamarin.Android" is bundled with "Xamarin" from the "Xamarin" Release Notes. The top line says something like Xamarin 4.0 updates Xamarin.iOS 9.4 and Xamarin.Android 6.0 releases.
More info from Xamarin:
On Windows you cannot download separate installers for Xamarin.iOS and
Xamarin.Android.
The Xamarin.VisualStudio package (also referred to as just "Xamarin")
includes Xamarin.iOS and Xamarin.Android.
E.g., Xamarin 4.0.1.93 contains Xamarin.iOS 9.4.1.24 and
Xamarin.Android 6.0.1.10
The version number you see on the download page refers to the version
number of "Xamarin" - which, as above, includes Xamarin.iOS and
Xamarin.Android. This is the same when you are updating and see
"Xamarin 4.0.1.93" for example.
You need to install "Xamarin" even if you are using Xamarin Studio on
Windows as this includes Xamarin.Android.
and
We do issue separate installers for Xamarin.Android on OS X, so if you are able to use a Mac for your CI (e.g., with something like Jenkins), then this may be more viable.
I am trying to install the MVVMCross.HotTuna.StarterPack on my Xamarin (Mac) Solution using the NuGet, but i ain't successful. The package was installed in the Xamarin.Android project successfully but while i try the same to do with the iOS and PCL project, it doesn't add. Any Idea on whats going wrong? Thanks!
That nuget package requires nuget 2.5 which isn't yet finished/released for Xamarin Studio - track https://github.com/mrward/monodevelop-nuget-addin/issues/13 for updates
It will also probably require fixes from Xamarin - they've not yet released PCL support, but it is in development. You can ask their forum and/or support for updates on this.
In the meantime:
you can develop for MvvmCross using VS on the PC - see http://mvvmcross.wordpress.com/
you can develop using binaries (not nuget) on the Mac - see http://slodge.blogspot.com/2013/05/xamarin-studio-quick-run-through-for.html
For Xamarin.Mac/MonoMac support, there's no PCL support currently available - so the only way to get this working currently is to fork the MvvmCross solution and to compile the PCL libraries for the appropriate Mac project. For more on current .Mac issues, track and/or contribute to: http://forums.xamarin.com/discussion/3733/playing-with-pcls