Manifest

Aus Android Wiki
Wechseln zu: Navigation, Suche

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ärung:

  • 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. "Activities (API Guides)" (in Englisch). developer.android.com. Abgerufen am 2015-08-24. 
  2. "<uses-sdk> (API Guides)" (in Englisch). developer.android.com. Abgerufen am 2015-08-24. 
  3. "<permission> (API Guides)" (in Englisch). developer.android.com. Abgerufen am 2015-08-24. 
  4. "<application> (API Guides)" (in Englisch). developer.android.com. Abgerufen am 2015-08-24. 
  5. "<activity> (API Guides)" (in Englisch). developer.android.com. Abgerufen am 2015-08-24.