Funktion: 1. Beschreiben Sie den Paketnamen der App. 2. Beschreiben Sie die Versionsinformationen des von der App verwendeten Android-Systems. 3. Beschreiben Sie die Versionsinformationen der App selbst. Das System kann unterscheiden, welche die neue Version ist, welche die alte Version ist. 4. Beschreiben Sie die von der Anwendung bereitgestellten Komponenten usw.
Wir alle stoßen bei der Entwicklung einer APP auf eine Datei: AndroidManifest.xml. Es sind schon ein paar Monate vergangen, seit ich angefangen habe, Android zu entwickeln, und ich weiß immer noch wenig über diese Datei, ich weiß nur, dass sie zur Konfiguration dient. Aber ich habe die konkrete Verwendung der Dinge in dieser Datei und ihre Verwendung nie verstanden. Nutzen Sie die Gelegenheit, an dem Projekt zu arbeiten, um dieses Dokument sorgfältig zu studieren.
Der beste Weg, AndroidManifest.xml zu studieren, besteht natürlich darin, die offizielle Dokumentation zu lesen, um die Rolle jedes Felds im Projekt im Detail zu verstehen, und einige Änderungen vorzunehmen, um sie zu überprüfen.
Was ist AndroidManifest? Was für eine Datei ist AndroidManifest.xml?
Die offizielle Erklärung von AndroidManifest ist das Anwendungsmanifest (Manifest bedeutet Manifest), das im Stammverzeichnis jeder Anwendung enthalten sein muss Der Dateiname muss genau gleich sein. Diese Datei enthält die Konfigurationsinformationen der APP. Das System muss den APP-Code ausführen und die Schnittstelle basierend auf dem darin enthaltenen Inhalt anzeigen.
AndroidManifest.xml ist eine Datei im Stammverzeichnis nach der Dekomprimierung jeder APK-Datei (ZIP), und der Name muss genau derselbe sein.
AndroidManifest.xml Was ist die Funktion?
Beschreiben Sie den Paketnamen der App:
Android-Geräte unterscheiden verschiedene Apps entsprechend. Wenn es sich bei jeder App um eine Person handelt, entspricht der Paketname dem Namen der Person (um zu verhindern, dass Malware andere imitiert). Apps: Nur wenn der Paketname und die Signatur der neuen App mit denen der alten App übereinstimmen, können das Upgrade und die Abdeckungsinstallation erfolgreich sein Wenn das System ständig aktualisiert wird, wird die neue Systemversion aktualisiert. Wenn neue APIs hinzugefügt werden, diese APIs jedoch nicht auf alten Android-Geräten verfügbar sind, besteht das Problem, dass die neue Version der Anwendung die neue API verwendet, aber auf dem alten System ausgeführt wird (Anwendungen, die die neue API auf dem alten System aufrufen, stürzen ab), daher ist es notwendig, die von dieser Anwendung unterstützte Mindestversion des Android-Systems anzugeben. Wenn Sie beispielsweise minSdkVersion auf 19 setzen, bedeutet dies, dass diese Anwendung auf Geräten mit API 19 und ausgeführt werden kann oben ohne Probleme.
Beschreiben Sie die Versionsinformationen der App selbst, wie folgt: Bei zwei Versionen derselben App kann das System unterscheiden, welche die neue und welche die alte Version ist.
Aktivität, Dienst Jede der vier Komponenten, Provider und BroadcastReceiver, kann unabhängig ausgeführt und als Einstiegspunkt für den App-Start verwendet werden.
Letztendlich muss die Android-System-App dem System zu viele Informationen direkt per Text mitteilen.
<manifest> <uses-feature></uses-feature> <application> <!-- Our activity is the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity> <!-- Tell NativeActivity the name of our .so --> <meta-data></meta-data> <intent-filter> <action></action> <category></category> </intent-filter> </activity> </application> </manifest>
Dieses Attribut definiert den Android-Namespace. Muss auf „http://schemas.android.com/apk/res/android“ eingestellt sein. Ändern Sie es nicht manuell. Paket
Dies ist ein vollständiger Paketname im Java-Sprachstil. Der Paketname besteht aus englischen Buchstaben (sowohl Groß- als auch Kleinbuchstaben), Zahlen und Unterstrichen. Jeder einzelne Name muss mit einem Buchstaben beginnen. Beim Erstellen einer APK verwendet das Build-System diese Eigenschaft, um zwei Dinge zu tun:
包名也代表着唯一的application ID,用来发布应用。但是,要注意的一点是:在APK构建过程的最后一步,package名会被build.gradle文件中的applicationId属性取代。如果这两个属性值一样,那么万事大吉,如果不一样,那就要小心了。
android:versionCode
内部的版本号。用来表明哪个版本更新。这个数字不会显示给用户。显示给用户的是versionName。这个数字必须是整数。不能用16进制,也就是说不接受"0x1"这种参数
android:versionName
显示给用户看的版本号。
Google Play利用这个元素的值从不符合应用需要的设备上将应用过滤。
这东西的作用是将APP所依赖的硬件或者软件条件告诉别人。它说明了APP的哪些功能可以随设备的变化而变化。
使用的时候要注意,必须在单独的
<uses-feature></uses-feature> <uses-feature></uses-feature>
android:name
该属性以字符串形式指定了APP要用的硬件或软件功能。
android:required
这项属性如果值为true表示需要这项功能否则应用无法工作,如果为false表示应用在必要时会使用该功能,但是如果没有此功能应用也能工作。
android:glEsVersion
指明应用需要的Opengl ES版本。高16位表示主版本号,低16位表示次版本号。例如,如果是要3.2的版本,就是0x00030002。如果定义多个glEsVersion,应用会自动启用最高的设置。
此元素描述了应用的配置。这是一个必备的元素,它包含了很多子元素来描述应用的组件,它的属性影响到所有的子组件。许多属性(例如icon、label、permission、process、taskAffinity和allowTaskReparenting)都可以设置成默认值。
android:allowBackup
表示是否允许APP加入到备份还原的结构中。如果设置成false,那么应用就不会备份还原。默认值为true。
android:fullBackupContent
这个属性指向了一个xml文件,该文件中包含了在进行自动备份时的完全备份规则。这些规则定义了哪些文件需要备份。此属性是一个可选属性。默认情况下,自动备份包含了大部分app文件。
android:supportsRtl
声明你的APP是否支持RTL(Right To Left)布局。如果设置成true,并且targetSdkVersion被设置成17或更高。很多RTL API会被集火,这样你的应用就可以显示RTL布局了。如果设置成false或者targetSdkVersion被设置成16或更低。哪些RTL API就不起作用了。
该属性的默认的值是false。
android:icon
APP的图标,以及每个组件的默认图标。可以在组价中自定义图标。这个属性必须设置成一个引用,指向一个可绘制的资源,这个资源必须包含图片。系统不设置默认图标。例如mipmap/ic_launcher引用的就是下面的资源
android:label
一个用户可读的标签,以及所有组件的默认标签。子组件可以用他们的label属性定义自己的标签,如果没有定义,那么就用这个标签。
标签必须设置成一个字符串资源的引用。这样它们就能和其他东西一样被定位,比如@string/app_name。当然,为了开发方便,你也可以定义一个原始字符串。
android:theme
Dieses Attribut definiert das von der Anwendung verwendete Thema. Es ist ein Verweis auf die Stilressource. Jede Aktivität kann auch ihr eigenes Thema festlegen, indem sie ihr eigenes Themenattribut verwendet.
android:name
Der vollständige Name der Anwendungsunterklasse. Beinhaltet den vorherigen Pfad. Zum Beispiel com.sample.teapot.TeapotApplication. Beim Start der Anwendung wird zunächst eine Instanz dieser Klasse erstellt. Dieses Attribut ist optional und die meisten Apps erfordern dieses Attribut nicht. Fehlt dieses Attribut, startet Android eine Instanz der Application-Klasse.
Dieses Element deklariert eine Aktivität (Unterklasse der Aktivitätsklasse), die die visuelle Schnittstelle der Anwendung implementiert. Dies ist ein erforderliches untergeordnetes Element des
android:name
Der Name der Aktivitätsklasse, die eine Unterklasse der Aktivitätsklasse ist. Der Eigenschaftswert ist der vollständig qualifizierte Klassenname, z. B. com.sample.teapot.TeapotNativeActivity. Wenn das erste Zeichen ein Punkt ('.') ist, müssen Sie der Einfachheit halber den Paketnamen im
Es gibt keinen Standardwert, der Name muss angegeben werden.
android:label
Aktivitätslabel, das vom Benutzer gelesen werden kann. Diese Beschriftung wird auf dem Bildschirm angezeigt, wenn die Aktivität aktiviert ist. Wenn es nicht festgelegt ist, wird das Label-Attribut in
android:configChanges
Listet Konfigurationsänderungsmeldungen auf, die die Aktivität selbstständig verarbeiten wird. Wenn zur Laufzeit eine Konfigurationsänderung auftritt, wird die Aktivität standardmäßig geschlossen und neu gestartet. Wenn Sie die Konfiguration jedoch mit diesem Attribut deklarieren, wird der Neustart der Aktivität verhindert. Stattdessen bleibt die Aktivität aktiv und ihre onConfigurationChanged()-Methode wird aufgerufen.
Hinweis: Dieses Attribut sollte vermieden und nur als letztes Mittel verwendet werden. Weitere Informationen zum ordnungsgemäßen Umgang mit Neustarts aufgrund von Konfigurationsänderungen finden Sie unter Umgang mit Laufzeitänderungen.
Es gibt viele Elemente, die für dieses Attribut festgelegt werden können:
android:theme
Legen Sie das Designformat fest, ähnlich dem Design in
gibt ein zusätzliches Datenelement an, bei dem es sich um ein Name-Wert-Paar handelt, das der übergeordneten Komponente bereitgestellt wird. Diese Daten bilden ein Bundle-Objekt, das vom Feld PackageItemInfo.metaData verwendet werden kann. Obwohl es möglich ist, mehrere
Dieses Element hat drei Attribute:
android:name
Datenelementname, der ein eindeutiger Wert ist.
android:resource
Ein Verweis auf eine Ressource.
android:value
Der Wert des Datenelements. Das
gibt an, mit welcher Absicht (Absicht) diese Aktivität gestartet werden kann. Dieses Element kann mehrere untergeordnete Elemente enthalten. Stellen wir zunächst die beiden vor, auf die wir gestoßen sind:
gibt an, als welche Aktion die Aktivität gestartet wird, android.intent.action.MAIN gibt an, dass sie als Hauptaktivität gestartet wird.
Dies sind zusätzliche Kategorieinformationen des Aktionselements android.intent.category.LAUNCHER, die angeben, dass diese Aktivität die Aktivität mit der höchsten Priorität in der aktuellen Anwendung ist.
Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmieren lernen! !
Das obige ist der detaillierte Inhalt vonBeschreiben Sie kurz die Funktion von AndroidManifest.xml?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!