Manifest: Unterschied zwischen den Versionen

Aus Android Wiki
(Seite ganz neu angeleg)
 
(Formatierung Quelltext verbessert)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Die Manifest-Datei ist eine XML-Datei mit dem Namen <code>AndroidManifest.xml</code>, die sich in jeder [[APK|APK-Datei]] im Wurzelverzeichnis befinden muss
Die '''Manifest'''-Datei ist eine XML-Datei mit dem Namen <code>AndroidManifest.xml</code>, die sich in jeder [[APK|APK-Datei]] im Wurzelverzeichnis befinden muss.<ref>{{Cite web|url = http://developer.android.com/guide/topics/manifest/manifest-intro.html | title = Activities (API Guides)| publisher = developer.android.com | accessdate = 2015-08-24 | language = Englisch }}</ref> 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.
<ref>{{Cite web|url = http://developer.android.com/guide/topics/manifest/manifest-intro.html | title = Activities (API Guides)| publisher = developer.android.com | accessdate = 2015-08-24 | language = Englisch }}</ref>.
 
In dieser Manifest-Datei 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:
Beispiele für Angaben in der Manifest-Datei:
* Eindeutiger Paket-Bezeichner für die App.
* eindeutiger Paket-Bezeichner für die App (''Paketname'')
* Mindest-Version von Android, die das Gerät haben muss, um die App auszuführen.
* Mindest-Version von Android, die das Gerät haben muss, um die App auszuführen
* Anzeige-Name und Icon der App.
* Anzeige-Name und Icon der App
* Von der App definierte Komponenten wie [[Activity|Activities (Bildschirmseiten)]], aber auch Hintergrund-Services und Content-Provider.
* von der App definierte Komponenten wie [[Activity|Activities (Bildschirmseiten)]], aber auch Hintergrund-Services und Content-Provider  
* [[Berechtigungen|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.
* [[Berechtigungen|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 ==
== Beispiel für eine Manifest-Datei ==
Zeile 17: Zeile 13:


<pre>
<pre>
    <?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="de.einefirma.beispiel"
          package="de.einefirma.beispiel"
              android:versionCode="3"
          android:versionCode="3"
              android:versionName="1.2" >
          android:versionName="1.2" >
             
         
        <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="23" />
    <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>
          
          
        <uses-permission android:name="android.permission.INTERNET" />
    </application>
                       
        <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>
</manifest>
</pre>
</pre>


Erklärung:
Erklärungen zu dieser Datei:
* Tag <code><manifest></code>:
* Tag <code><manifest></code>:
** 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).
** 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).
Zeile 65: Zeile 61:
** Die Attribute in diesem Tag definieren u.a. den Namen der App und das App-Icon.
** Die Attribute in diesem Tag definieren u.a. den Namen der App und das App-Icon.
** Es sind zwei Activities mit <code><activity></code>-Tags<ref>{{Cite web|url = http://developer.android.com/guide/topics/manifest/activity-element.html | title = <activity> (API Guides)| publisher = developer.android.com | accessdate = 2015-08-24 | language = Englisch }}</ref> definiert, wobei die erste durch einen entsprechenen ''Intent Filter'' als Start-Activity festgelegt ist
** Es sind zwei Activities mit <code><activity></code>-Tags<ref>{{Cite web|url = http://developer.android.com/guide/topics/manifest/activity-element.html | title = <activity> (API Guides)| publisher = developer.android.com | accessdate = 2015-08-24 | language = Englisch }}</ref> definiert, wobei die erste durch einen entsprechenen ''Intent Filter'' als Start-Activity festgelegt ist
== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />


[[Kategorie:App Entwicklung]]
[[Kategorie:App Entwicklung]]

Aktuelle Version vom 7. September 2018, 09:27 Uhr

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.