Imprimer
Catégorie : Le Manifest, Fichier Build, Et Les Resources
Affichages : 5

Présentation Du Manifest Android

Chaque projet Android comprend un fichier manifeste, AndroidManifest.xml. Dans Android Studio, vous pouvez accéder au manifeste de l'application à partir du dossier app / manifestests.

Le manifeste définit la structure et les métadonnées de votre application, ses composants et ses exigences.Votre manifeste comprend des nœuds pour chacune des activités, services, fournisseurs de contenu et récepteurs de diffusion qui composent votre application et, à l'aide des filtres d'intention et des autorisations, déterminez la manière dont ils interagissent entre eux et avec d'autres applications. Le manifeste est constitué d’une balise racine manifeste avec un attribut de package défini sur le nom unique du package du projet. Il devrait également inclure un attribut xmlns: android qui fournit plusieurs attributs système requis dans le fichier.L'extrait de code XML suivant illustre un nœud racine de manifeste:

< manifest xmlns:android="http://schemas.android.com/apk/res/android"           package="com.professionalandroid.apps.helloworld" >

  [ ... manifest nodes ... ]

< /manifest >

Le manifeste spécifie les métadonnées de l'application (telles que son icône et son thème) dans le nœud d'application de niveau supérieur. Des nœuds de niveau supérieur supplémentaires peuvent spécifier les autorisations requises, les tests unitaires et les exigences en matière de matériel, d'écran ou de plate-forme (comme décrit dans la section suivante).La liste suivante récapitule certaines des balises de sous-nœud manifestes et fournit un extrait de code XML illustrant l'utilisation de chaque balise: 

< uses-feature android:name="android.hardware.nfc" / >

Utilisez ce nœud uniquement si vous souhaitez empêcher l’installation de votre application sur des périphériques n’incluant pas certaines fonctionnalités. Actuellement, les fonctionnalités requises prises en charge incluent les catégories suivantes:

La variété de plates-formes sur lesquelles Android est disponible augmente, tout comme le matériel et les logiciels en option. Vous pouvez trouver une liste complète du matériel à fonctionnalités multiples à l'adresse developer.android.com/guide/topics/manifest/uses-feature-element .html#features-reference. 

Pour garantir la compatibilité, spécifier l'exigence de certaines autorisations implique une exigence de fonctionnalité. En particulier, demander la permission d'accéder à Bluetooth, à la caméra, à l'une des autorisations du service de localisation, à l'enregistrement audio, au Wi-Fi et aux autorisations liées à la téléphonie implique la fonctionnalité matérielle correspondante. Vous pouvez remplacer ces exigences implicites en ajoutant un attribut requis et en le définissant sur false. Par exemple, une application de prise de notes qui prend en charge (mais ne nécessite pas) l'enregistrement d'une note audio peut choisir de rendre le matériel du microphone facultatif:

< uses-feature android:name="android.hardware.microphone"               android:required="false" />

Le matériel de la caméra représente également un cas particulier. Pour des raisons de compatibilité, demander l'autorisation d'utiliser l'appareil photo ou ajouter un nœud Usages-fonctionnalité le nécessitant implique que la caméra prenne en charge la mise au point automatique. Vous pouvez le spécifier aussi facultatif que nécessaire:

< uses-feature android:name="android.hardware.camera" / >

< uses-feature android:name="android.hardware.camera.autofocus"

              android:required="false" />

< uses-feature android:name="android.hardware.camera.flash"               android:required="false" /> 

 developer.android.com/guide/topics/manifest/ supports-gl-texture-element.html.

< supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" / >

< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/ >

< permission android:name="com.professionalandroid.perm.DETONATE_DEVICE"

            android:protectionLevel="dangerous"             android:label="Self Destruct"

            android:description="@string/detonate_description">

< /permission >

Si vous utilisez une classe d'application personnalisée, vous devez la spécifier ici à l'aide de l'attribut android: name.  Le nœud d'application fait également office de conteneur pour les nœuds d'activité, de service, de fournisseur de contenu et de récepteur de diffusion qui spécifient les composants de l'application.

< application

  android:label="@string/app_name"   android:icon="@mipmap/ic_launcher"   android:theme="@style/AppTheme"   android:allowBackup="true"   android:supportsRtl="true"   android:name=".MyApplicationClass">

  [ ... application component nodes ... ]

< /application >

< activity android:name=".MyActivity" >

  <intent-filter>

    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />

  </intent-filter>

< /activity >

            < receiver android:name=".MyIntentReceiver" >

< /receiver >

 Remarque L'Assistant Nouveau projet Android Studio crée automatiquement un nouveau fichier manifeste lorsqu'il crée un nouveau projet.