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í:
- Error: JNI ERROR (bug de la aplicación): se accede a la referencia global obsoleta
- ¿Cómo evitar que la aplicación de Android se desinstale durante la implementación con Xamarin Studio?
- MonoDroid, interfaz de usuario común de MonoTouch
- Mono para Android - Arquitectura soportada - Drop x86?
- MonoDroid VS Java en el desarrollo de Android?
<?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
- Texto incorrecto Sí / No con la cadena de recursos de Android
- Programe la notificación usando el administrador de alarmas en formularios xamarin para android
- Tablas de la barra de acción de Android, Styling el icono y el texto juntos
- Evitar que la actividad se reinicie cuando cambie la orientación
- Mono para Android - ¿Cómo acelerar la depuración?
- Visual Studio Android Emulator no ejecutará la aplicación
- SetColorFilter no funciona en Xamarin.Android
- Error de depurador de Android (MonoDroid)
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.
- NameValuePair Error "NameValuePair no se puede resolver con un tipo"
- Monodroid para el servicio android