Die Datei AndroidManifest.xml befindet sich auf der Hauptebene jedes Android-Projekts, in Android-Studio unterhalb der virtuellen Struktur app/manifests. Durch einen Doppelklick wird sie im Editor geöffnet.
Unterknoten <application>
Jede Anwendung kann nur einen application-Knoten enthalten. Dieser enthält Attribute für das Symbol (android:icon), für den Titel (android:label) und andere.Im application-Knoten sind mehrere Komponenten der Anwendung enthalten:
- activity: Jede Activity muss eingetragen werden. Wird eine Activity explizit über das Android Studio generiert (rechte Maustaste auf app, dann New|Activity|...), wird deren Eintrag in das Manifest automatisch erledigt. Wird dagegen eine normale Klasse angelegt, aus der eine Activity gemacht wird, muss sie von Hand nachgetragen werden.
- service: Jeder Service der Anwendung muss eingetragen werden.
- provider: Ein ContentProvider bietet Datei- oder Datenbank-Inhalte für andere Anwendungen an.
- receiver: Dies definiert einen BroadcastReceiver, der auf Intents des Systems oder anderer Anwendungen reagiert. Dazu enthält er typischerweise einen intent-filter.
Permissions
Hier werden die Rechte eingetragen, die die App beim Benutzer bei der Installation erfragt und an die sie sich anschließend auch halten muss, da es sonst zum Ende des Programms führt.Damit ein Programm beispielsweise im Netzwerk arbeiten darf, muss es die Erlaubnis für INTERNET haben. In der Datei AndroidManifest.xml muss dazu folgender Eintrag stehen:
<uses-permission android:name="android.permission.INTERNET"/> </manifest>Ein uses-permission-Eintrag muss direkter Nachfahre des Knotens manifest sein, also nicht innerhalb von application stehen.
Die Permissions müssen aus dem Programm abgefragt werden.
Features (uses-feature)
Mit dem Tag uses-feature wird eingetragen, wenn die App bestimmte Eigenschaften (Feature) nutzt oder gar erfordert.Ist auf dem Gerät das geforderte Feature nicht vorhanden, wird sogar eine Installation der App per Google Play verhindert. Wenn Sie aber android:required auf false setzen, geben Sie an, dass Sie das Feature nutzen, aber nicht zwingend benötigen.
<uses-feature android:name="android.hardware.bluetooth" android:required="false" />Ausführliche Informationen zu den Kategorien finden Sie in der Android Developers-Seite zum Thema uses-feature.