Xamarin AndroidManifest.xml es diferente al de Visual Studio

En Visual Studio, el archivo Properties / AndroidManifest.xml tiene este aspecto:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:installLocation="auto" android:versionName="1.0"> <uses-sdk /> <application android:label="Aftermath" android:largeHeap="true"> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /></application> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> </manifest> 

Sin embargo, después de la instalación en un dispositivo, cuando compruebo el manifiesto de mi aplicación mediante la aplicación manifestViewer (disponible en la tienda), el manifiesto es completamente diferente y se ve así:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="Aftermath.Aftermath"> <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15"/> <application android:icon="@2130837644" android:name="mono.android.app.Application" android:debuggable="true"> <activity android:name="androclient.activities.AftermathActivity" android:screenOrientation="landscape"/> <activity android:label="Aftermath" android:icon="@2130837644" android:name="androclient.activities.TitleScreenActivity" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:authorities="Aftermath.Aftermath.mono.MonoRuntimeProvider.__mono_init__" android:initOrder="2147483647"/> <receiver android:name="mono.android.Seppuku"> <intent-filter> <action android:name="mono.android.intent.action.SEPPUKU"/> <category android:name="mono.android.intent.category.SEPPUKU.Aftermath.Aftermath"/> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> </manifest> 

Esto es normal ? ¿Cómo puedo editar el manifiesto para incluir atributos de aplicación, metadatos y actividades?

Gracias

Xamarin utiliza Attributes en código para rellenar el manifiesto de Android cuando se construye. Puede utilizar Attributes para Activity , Service , BroadcastReceiver , IntentFilter , Application , MetaData , etc.

Así que si usted tiene un BroadcastReceiver como este en Xamarin

 [BroadcastReceiver] [IntentFilter(new string[] { "com.example.filter" }] public class BR : BroadcastReceiver {} 

Obtendrá una adición al manifiesto generado con su BroadcastReceiver e IntentFilter .

O una actividad como

 [Activity(MainLauncher = true, ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)] public class MainActivity : Activity {} 

O en su clase de aplicación

 [Application(Theme = "@style/AppTheme", Icon = "@drawable/icon")] public class App : Application 

Todos estos elementos se incluirán en el Android Manifest generado

Hola y gracias por contestar. Resultó que tuve que eliminar el archivo AndroidManifest.xml y reiniciar Visual Studio para tener el compilador para actualizar correctamente el manifiesto durante la compilación. Insecto extraño

Espero que esto ayude a alguien.

  • MonoDroid: recuperación de excepción no controlada
  • Cómo utilizar Android KitKat EvaluateJavascript en Xamarin.Android/Monodroid y recuperar el resultado?
  • InflateException con TextInputLayout y AlertDialog
  • "Java.exe" salió con código 1 Error al ejecutar la aplicación xamarin.android
  • ¿Cómo funciona Mono para Android?
  • Borrar selección de SingleChoice ListView
  • ¿Cómo hacer un intervalo de sombra de cadena en Android?
  • No se puede implementar Xamarin aplicación correctamente
  • FragmentPagerAdapter sólo existe en Android.Support.V4.App (y no en Android.App)
  • Xamarin android support library v7 y v13 en la misma aplicación
  • ¿MonoDroid vale la pena el esfuerzo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.