Was ' ist wirklich ' Anwendungen von Drittanbietern '?

Ich würde gerne wissen, was wirklich Anwendungen von Drittanbietern in android.Während ich Android-Entwicklung verwies, heißt es, dass die Anwendungsschicht besteht aus:

  1. Native Apps
  2. Apps von Drittanbietern
  3. Entwickler-Apps

Ich weiß, dass Anwendungen von Drittanbietern solche sind, die nicht vom Erstanbieter (Anbieter des Betriebs) entwickelt wurden System) wie in Anwendungen von Drittanbietern erwähnt. Aber ich denke, wenn es um Android-Apps von Drittanbietern und Entwickler-Apps geht, nicht wahr? Könnte mir jemand helfen

Kommentare

  • Ich konnte ' die Trennung zwischen nativen Apps von Drittanbietern ehrlich gesagt nicht verstehen Apps und Anwendungen (all dies sind Anwendungen in meinem Wörterbuch). Wie es aus dem Buch zitiert wurde (auf das wir ' nur zugreifen können, wenn wir es kaufen), erklärt es auch den Unterschied zwischen diesen oder erwähnt es nur? Wenn ja, können Sie es auch zitieren und zu der Frage hinzufügen?
  • @AndrewT .: Oh, tut mir leid. Es war wirklich Entwickler-Apps nicht Anwendungen Können Sie feststellen, ob sich Apps von Drittanbietern von Entwickler-Apps unterscheiden? Wie die Antwort von Izzy lautet, sollten beide gleich sein, da beide nicht vom Betriebssystem entwickelt wurden noch der Hersteller .
  • Ich denke in diesem Zusammenhang, " Entwickler-Apps " steht für Apps, die nicht von einem " Markt " installiert wurden – sondern von Apps, die Sie selbst schreiben und über die entsprechenden Entwicklungsframeworks testen. Im Zusammenhang mit " Signaturen " (siehe meine Antwort unten): AFAIK Diese Apps sind mit " Entwicklungsschlüssel ", daher haben sie wieder eine Art " spezielle Signatur ". Ich muss dies jedoch genauer untersuchen, um den genauen Unterschied zum Standpunkt eines Benutzers ' festzustellen.

Antwort

Kurzversion

Jede andere App als " Betriebssystem- und Hersteller-Apps " bedeutet " Apps von Drittanbietern ".

TL; DR

Apps von Drittanbietern werden von einem Drittanbieter bereitgestellt. Obwohl die folgenden Begriffe nicht vorhanden sind, können Sie dies wie folgt visualisieren: Der erste Anbieter ist derjenige, der das Betriebssystem bereitstellt (AOSP / Google), der zweite Anbieter der Hersteller (Hinzufügen seiner eigenen Apps).

Grundsätzlich gilt: Dies kann wie folgt gelesen werden: Alles, was nicht vorinstalliert war. Dies ist, was normalerweise der Begriff " Drittanbieter " verwendet wird für 1 .

Technischer Hintergrund

Technische Hintergrundinformationen finden Sie im Berechtigungssystem von Android. Wenn Sie die verwandten Seiten auf Android-Entwicklern durchsuchen oder meine App-Berechtigungen für einige erklären Berechtigungen Sie werden auf den Ausdruck " stoßen, der nicht von Apps von Drittanbietern verwendet werden kann " (oder ähnlich). Wie entscheidet das System, was eine " Drittanbieter-App " ausmacht? Es überprüft die Signatur und vergleicht diese mit den Signaturen des Betriebssystems und des Herstellers. Wenn die Signatur der App mit keiner der beiden übereinstimmt, ist sie „sa“ " Drittanbieter-App ".

" Entwickler-Apps "

In Ihrer Frage lag der Schwerpunkt auf der Entscheidung zwischen " Drittanbietern " und " Entwickler " Apps. Grundsätzlich sind Entwickler-Apps in der Praxis eher eine " -Untergruppe " von " Drittel Party " Apps. Wie auf der entsprechenden Entwicklerseite angegeben, kann das Signieren einer App während der Entwicklung 3 signiert werden " im Debug-Modus ":

Sie können eine App im Debug oder Release signieren Modus. Sie signieren Ihre App im Debug-Modus während der Entwicklung und im Release-Modus, wenn Sie bereit sind, Ihre App zu verteilen. Das Android SDK generiert ein Zertifikat zum Signieren von Apps im Debug-Modus. Um Apps im Release-Modus zu signieren, müssen Sie Ihr eigenes Zertifikat erstellen.

[…]

Sie können eine im Debug-Modus signierte App auf dem Emulator und auf Geräten ausführen und debuggen, die über USB mit Ihrer Entwicklungsmaschine verbunden sind. Sie können jedoch keine angemeldete App verteilen Debug-Modus.

Somit kann " Entwickler-Apps " Dies wird mithilfe eines bekannten " Debug-Zertifikats " mitgeteilt. Wie in der angegebenen Quelle angegeben, sollte dies nicht mit " freigegebenen Apps " verwendet werden (z. B. sollte ein Entwickler keine App veröffentlichen, die dies signiert hat Weg) 2 .

Weitere Lesungen


1: obwohl es technisch möglicherweise nicht vollständig korrekt ist (Beispiel: Wie würde in diesem Zusammenhang eine App heißen, die Sie manuell installiert haben, wenn sie es wäre? signiert mit dem gleichen Schlüssel wie das ROM selbst – dh vom Hersteller?)

2: Dies ist aus Sicherheitsgründen. Apps können möglicherweise auf Ressourcen anderer Apps zugreifen, wenn sie dieselbe Signatur verwenden – eine Tatsache, die z. B. von " Addons " für bestimmte geschriebene Apps verwendet wird vom selben Entwickler (wie die bereits benannte Quelle zB sagt: Android ermöglicht es Apps, die mit demselben Zertifikat signiert sind, im selben Prozess ausgeführt zu werden, wenn die Anwendungen fordern dies an, sodass das System sie als einzelne Anwendung behandelt. Und: Android bietet signaturbasierte Berechtigungsdurchsetzung, sodass eine App Funktionen für eine andere App verfügbar machen kann, die mit einem bestimmten Zertifikat signiert ist. Durch das Signieren mehrerer Apps mit demselben Zertifikat und die Verwendung signaturbasierter Berechtigungsprüfungen können Ihre Apps Code und Daten auf sichere Weise gemeinsam nutzen. ) Verwenden Sie " Ihr eigenes " schützt " Ihre " App vor dem Zugriff durch " andere Entwicklung lopers „apps ".

3: AFAIK Sie können keine " nicht signierte App " installieren, daher ist das Signieren ein Muss. Wenn " " eine App signiert, müssen normalerweise zwei Kennwörter angegeben werden (eines für den Schlüsselspeicher mit Ihren Signaturen und eines für die Signatur selbst). Mit der " Debug-Modus " -Signierung kann dies vermieden werden, da hierfür eine interne Signatur des SDK mit einem der Entwicklung bekannten Kennwort verwendet wird Werkzeuge. Dies erleichtert das Debuggen erheblich, da Sie die beiden Kennwörter beim " Kompilieren ›Test› Kompilieren ›Test erneut› .. " -Prozess.

Kommentare

  • : Dieser ' Eine gute ausführliche Antwort. Aber können Sie sagen, dass es notwendig ist, eine App im Debug-Modus zu signieren?
  • Wie in meiner (erneut aktualisierten) Antwort beschrieben: " erleichtert das Debuggen einer App während der Entwicklung ". Ich ' werde mit " noch ein Update ". Lassen Sie danach ' unsere Kommentare bereinigen (löschen) diejenigen, die durch meine Aktualisierungen der Antwort veraltet sind), sollen wir ?;)
  • : Okay. Aber können Sie mir sagen, was wirklich mit der Signatur einer App gemeint ist. Bedeutet das? wer hat es wirklich entwickelt (ob es ' s Betriebssystem, Hersteller) oder bedeutet es etwas anderes?
  • Das ' geht ein wenig tief in den technischen Teil. Möglicherweise möchten Sie hierzu auf Wikipedia verweisen. Grundsätzlich bedeutet dies, wer die App signiert hat, normalerweise der Entwickler.Wie bei einem Papier, das mit einer (handgeschriebenen) Signatur signiert wird, zeigt eine digitale Signatur die Authentizität der signierten Daten (hier .apk).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.