I am developing a mobile app by Multi Device Mobile App in VS 2013, since AndroidManifest.xml is generated from scratch in build process how can I set something in it?
You can override the AndroidManifest.xml by placing your custom manifest at res/native/android. Use the generated version of the file in the bld/Debug/platforms/android folder after building a Debug configuration of the project for Android to configure settings such as custom intents.
Related
How to create android project targeting specific android version e.g. v5.0?
it seems when creating new project it is auto picking latest installed target sdk version
it seems they forgot to add those options
This is a part of Android manifest that is available as part of the project properties.
I am new at VisualStudio.I am using xamarin for both iOS and Android application.
Now, If i want to integrate Crashlytics in my application then what should i do or how should i do?
Suggestions please.
There are two easy and widely use option for xamarin Crashlytics:
Hockey App
Firebase
Also if you need within the premises you can write some code.
You can use Fabric to add Crashlytics to your app.
Drungrin has built a fabulous NuGet package to connect your Xamarin iOS & Android apps to Fabric & Crashlytics (GitHub Link).
Getting it hooked up to your app is a massive hastle because Fabric don't natively support Xamarin however.. (forgive the shameless plug) I have written up a complete guide on implementing it on both platforms, link here. The long and the short of this is:
iOS (you need a mac for this)
Create a new native ios app (through xcode) with the same bundle id as your xamarin app & install it using the fabric mac app.
Forget about the xcode project (you only need to register the bundle id), add api key from sample to xamarin info.plist
add fabric & crashlytics nugets (follow github docs)
build your xamarin app for release & then archive for publishing. Open the fabric mac app and you will have your build in archives. Dysms can be automated to upload but for now you can upload them manually
Android
Create a new native Android app (using android studio), Make sure build & version numbers are the same as your xamarin app. Let the fabric plugin build & connect the sample to fabric. (once again the app need the same name)
Copy the fabric api key from sample to xam app manifest (edit the xml).
Give the android app internet permissions (if yours somehow doesnt)
Copy the crashlytics.build.properties file (found $ProjectFolder -> app -> build -> intermediates -> assets -> debug) into your xamarin app's resources, set build action to AndroidAsset.
Copy the crashlytics build number into string.xml: <string name="com.crashlytics.android.build_id">APP_BUILD_NUMBER</string>
add fabric & crashlytics nugets (follow github docs).
Archive app & publish apk
Drag apk into fabric plugin (android studio).
As of 2022 and Visual Studio 2019 for MacOS, there is now a NuGet package that handles the Firebase Crashlytics API. If you add the Xamarin.Firebase.IOS.Crashlytics package, and your GoogleService-Info.plist into the project, you can then add the updated Initialization code.
We currently have an app in Xamarin, which is Xamarin.Android and Xamarin.iOS with a shared PCL (no Xamarin.Forms). It currently is a very complicated app and we would like to remake screen by screen the app, and move away from Xamarin to a Swift and a Kotlin app in the meantime.
Is this possible? We don't have the time nor money to remake the app completely at once.
I have looked into making new screens as external libraries, and then bind that library, but I think that's making it a bit too complicated.
you can reuse the assets and resources only but not the code because you are using Xamarin.Forms not Xamarin.Android + Xamarin.iOS.
in your project you don't have any android XML design files and no iOS storyboard even the logic is different with the .cs files because you are not using the Android Java SDK or iOS SDK directly.
If you were use mono and mono touch directly without using the PCL (Xamarin.Forms) project then you can rewrite the code with minor changes with names of method, properties... etc.
I am currently making a cross platform mobile application . Where in I am targeting Android, IOS as well as the Windows OS.I have just made a hello world form and debugged it for android. Runs perfect on the emulator. Now want to send the .apk file to my coworker to see on her Android Mobile. How do i generate the .apk file???
Right click on solution with Android app and click on Archive more HERE
You have to run your application in release mode. The generated apk is located in the bin\release folder of the android project
I am the newbie in Xamarin Cross Platform development. I am using Visual Studio 2015 Preview for development. I created the new solution for mobile app and it is working correct for both Droid and Windows phone. But after successful connection with iOs Build host I got the error when I build the iOs App like -
Xamarin.iOS does not support running or debugging the previous build version of your project.Please ensure your solution builds before running or debugging it.
And also when I click on View iOS Simulator I got build host error.
Error: Build version problem. it will show the build version problem.
Please tell me the solution for this.
Most common cause of those symptoms
The most likely cause of this issue is the following known bug:
https://bugzilla.xamarin.com/show_bug.cgi?id=25811
Explanation
The problem in that bug is that the Xamarin.Forms template is using a bad default setting for the iOS project in Visual Studio's configuration manager.
The configuration manager works by telling Visual Studio which projects you want to be built and/or deployed at the same time in the configuration you're using at the time.
So for example; when you build your Android project in Forms, the configuration manager makes sure that the shared project is included; otherwise it wouldn't work, or you'd have to build it separately or etc. etc. (i.e. a real pain.)
Normally, Visual Studio doesn't have a way to automatically "know" which project(s) you want to include in all your configurations; you'd have to tell it to include (some library) with (some app); etc. manually.
How to fix it
Screencast: http://www.screencast.com/t/zLoQOpEn
Go to "Build -> Configuration Manager"
Select the configuration(s) you wish to adjust, (e.g. Debug | iPhoneSimulator, Release | iPhone)
Make sure your shared library project(s) are included with the platform-specific configurations. (You can ignore the greyed-out 'Deploy' checkboxes, those are handled automatically)
Why this is a bug
So this isn't a bug in that the configuration manager isn't working correctly for iOS projects, but that the Forms template is using a bad default setting for the iOS projects when you create a new app. It should "know" to include the shared project in the iOS configurations by default.