Manifest

Aus Android Wiki

Die Manifest-Datei ist eine XML-Datei mit dem Namen AndroidManifest.xml, die sich in jeder APK-Datei im Wurzelverzeichnis befinden muss.[1] In dieser sind verschiedene Angaben über die App gemacht, die das Android-System benötigt, um die App installieren und ausführen zu können.

Beispiele für Angaben in der Manifest-Datei:

  • eindeutiger Paket-Bezeichner für die App (Paketname)
  • Mindest-Version von Android, die das Gerät haben muss, um die App auszuführen
  • Anzeige-Name und Icon der App
  • von der App definierte Komponenten wie Activities (Bildschirmseiten), aber auch Hintergrund-Services und Content-Provider
  • Berechtigungen (Permissions), die die App zur Laufzeit benötigt, z.B. Zugriff auf das Internet oder Verschicken von SMS. Diese Berechtigungen werden dem Nutzer z.B. im App-Store oder vor Installation der App angezeigt

Beispiel für eine Manifest-Datei[Bearbeiten | Quelltext bearbeiten]

Im folgenden ist der vollständige XML-Quelltext einer einfachen Manifest-Datei für eine hypothetische App wiedergeben:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="de.einefirma.beispiel"
          android:versionCode="3"
          android:versionName="1.2" >
          
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="23" />
    
    <uses-permission android:name="android.permission.INTERNET" />
                    
    <application android:allowBackup="true"        
                 android:icon="@drawable/ic_launcher"
                 android:label="@string/app_name"
                 android:theme="@style/AppTheme" >
                 
        <activity android:name="de.einefirma.beispiel.main_activity"            
                  android:label="@string/title_activity_main" >   
                                 
            <intent-filter>
                <action   android:name="android.intent.action.MAIN"       />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
        </activity>
        
        <activity android:name="de.einefirma.beispiel.hilfe_activity"            
                  android:label="@string/title_activity_hilfe" >
        </activity>
        
    </application>

</manifest>

Erklärungen zu dieser Datei:

  • Tag <manifest>:
    • Package-Bezeichner der App, der weltweit eindeutig sein sollte (zu jedem Package-Bezeichner kann es in einem App-Store und auf einem Gerät nur eine App geben).
    • android:versionCode="3" und android:versionName="1.2": Version der App. Eine neuere Version der App, wobei das Attribut android:versionCode einen ganzzahligen Wert (wie die API-Level) enthalten muss. Eine neuere Version der App sollte einen höheren Wert für dieses Attribut haben.
  • Tag <uses-sdk>[2]:
    • android:minSdkVersion: Angabe der Mindest-Version von Android, die auf dem Gerät installiert sein muss, damit die App ausgeführt werden kann.
    • android:targetSdkVersion: Version des Android SDKs als API-Level, mit dem die App erstellt und getestet wurde. Wenn das ausführende Geräte ein höheres (neueres) API-Level hat als mit diesem Attribut angegeben, dann kann das System Kompatibilität-Mechanismen anwenden, so dass die App auch auf dem neueren API-Level wie erwartet läuft.
  • Tag <uses-permission>[3]: Es wird definiert, dass die App Zugriff auf das Internet benötigt, was Kosten für den Nutzer verursachen kann.
  • Tag <application>[4]:
    • Die Attribute in diesem Tag definieren u.a. den Namen der App und das App-Icon.
    • Es sind zwei Activities mit <activity>-Tags[5] definiert, wobei die erste durch einen entsprechenen Intent Filter als Start-Activity festgelegt ist

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.