Häufig gestellte Fragen

Auf dieser Seite finden Sie Antworten auf einige häufig gestellte Fragen (FAQs).

Open Source

Was ist das Android Open Source-Projekt?

Android Open Source Project (AOSP) bezieht sich auf die Menschen, Prozesse und den Quellcode, aus denen Android besteht.

Die Leute betreuen das Projekt und entwickeln den Quellcode. Die Prozesse sind die Werkzeuge und Verfahren, die wir verwenden, um die Entwicklung der Software zu verwalten. Das Nettoergebnis ist der Quellcode, den Sie in Mobiltelefonen und anderen Geräten verwenden können.

Warum haben wir den Android-Quellcode geöffnet?

Google startete das Android-Projekt als Reaktion auf unsere eigenen Erfahrungen mit der Einführung mobiler Apps. Wir wollten sicherstellen, dass Carriern, OEMs und Entwicklern immer eine offene Plattform zur Verfügung steht, um ihre innovativen Ideen Wirklichkeit werden zu lassen. Wir wollten auch zentrale Fehlerquellen vermeiden, damit kein einzelner Akteur der Branche die Innovationen anderer einschränken oder kontrollieren kann. Unser wichtigstes Ziel bei AOSP ist es sicherzustellen, dass Open-Source-Android-Software so umfassend und kompatibel wie möglich zum Nutzen aller implementiert wird.

Was für ein Open-Source-Projekt ist Android?

Google überwacht die Entwicklung der Open-Source-Kernplattform Android und arbeitet daran, robuste Entwickler- und Benutzergemeinschaften zu schaffen. Der Android-Quellcode ist größtenteils unter der freizügigen Apache-Lizenz 2.0 und nicht unter einer Copyleft -Lizenz lizenziert . Wir haben uns für die Apache 2.0-Lizenz entschieden, weil wir der Meinung sind, dass sie die Verbreitung von Android-Software fördert. Einzelheiten finden Sie unter Lizenzen .

Warum ist Google für Android verantwortlich?

Die Einführung einer Softwareplattform ist komplex. Offenheit ist für den langfristigen Erfolg einer Plattform von entscheidender Bedeutung, da Offenheit Investitionen von Entwicklern anzieht und gleiche Wettbewerbsbedingungen gewährleistet. Die Plattform muss auch ein überzeugendes Produkt für die Benutzer sein.

Google hat die erforderlichen professionellen technischen Ressourcen bereitgestellt, um sicherzustellen, dass Android eine vollständig wettbewerbsfähige Softwareplattform ist. Google behandelt das Android-Projekt als umfassende Produktentwicklungsoperation und trifft die notwendigen Geschäftsabschlüsse, um sicherzustellen, dass großartige Geräte mit Android auf den Markt kommen.

Indem wir dafür sorgen, dass Android bei den Nutzern ein Erfolg wird, tragen wir dazu bei, die Vitalität von Android als Plattform und als Open-Source-Projekt sicherzustellen. Denn wer will schon den Quellcode eines erfolglosen Produkts?

Googles Ziel ist es, ein erfolgreiches Ökosystem rund um Android zu gewährleisten. Wir haben den Android-Quellcode geöffnet, damit jeder die Software nach seinen eigenen Bedürfnissen modifizieren und verteilen kann.

Wie sieht die Gesamtstrategie von Google für die Entwicklung von Android-Produkten aus?

Wir bringen großartige Geräte auf einen wettbewerbsorientierten Marktplatz. Die von uns vorgenommenen Neuerungen und Erweiterungen bauen wir dann als nächste Version in die Kernplattform ein.

In der Praxis bedeutet dies, dass sich das Android-Engineering-Team auf eine kleine Anzahl von „Flaggschiff“-Geräten konzentriert und die nächste Version der Android-Software entwickelt, um diese Produkteinführungen zu unterstützen. Diese Flaggschiff-Geräte absorbieren einen Großteil des Produktrisikos und ebnen den Weg für die breite OEM-Community, die mit weiteren Geräten nachzieht, die die Vorteile der neuen Funktionen nutzen. Auf diese Weise stellen wir sicher, dass sich die Android-Plattform entsprechend den Anforderungen realer Geräte weiterentwickelt.

Wie wird Android-Software entwickelt?

Jede Plattformversion von Android (z. B. 1.5 oder 8.1) hat einen entsprechenden Zweig im Open-Source-Baum. Der neueste Zweig wird als die aktuelle Stable- Branch-Version betrachtet. Dies ist der Zweig, den Hersteller auf ihre Geräte portieren. Dieser Zweig wird jederzeit für die Veröffentlichung geeignet gehalten.

Gleichzeitig gibt es einen aktuellen experimentellen Zweig, in dem spekulative Beiträge wie große Next-Generation-Features entwickelt werden. Bugfixes und andere Beiträge können gegebenenfalls aus dem experimentellen Zweig in den aktuellen Stable-Zweig aufgenommen werden.

Schließlich arbeitet Google parallel zur Entwicklung eines Flaggschiff-Geräts an der nächsten Version der Android-Plattform. Dieser Zweig zieht nach Bedarf Änderungen aus den experimentellen und stabilen Zweigen ein.

Einzelheiten zu Codelines, Branches und Releases finden Sie unter AOSP-Codeverwaltung .

Warum werden Teile von Android privat entwickelt?

Es dauert in der Regel mehr als ein Jahr, bis ein Gerät auf den Markt gebracht wird. Und natürlich möchten Gerätehersteller die neueste Software liefern, die sie können. In der Zwischenzeit möchten Entwickler beim Schreiben von Apps nicht ständig neue Versionen der Plattform verfolgen. Beide Gruppen erleben eine Spannung zwischen dem Versand von Produkten und dem Wunsch, nicht ins Hintertreffen zu geraten.

Um dem entgegenzuwirken, werden einige Teile der nächsten Version von Android, einschließlich der Kernplattform-APIs, in einem privaten Zweig entwickelt. Diese APIs bilden die nächste Version von Android. Unser Ziel ist es, die Aufmerksamkeit auf die aktuelle stabile Version des Android-Quellcodes zu lenken, während wir die nächste Version der Plattform erstellen. Dies ermöglicht Entwicklern und OEMs, eine einzige Version zu verwenden, ohne unvollendete zukünftige Arbeiten zu verfolgen, nur um Schritt zu halten. Andere Teile des Android-Systems, die nichts mit Anwendungskompatibilität zu tun haben, werden offen entwickelt. Es ist unsere Absicht, im Laufe der Zeit mehr dieser Teile in die offene Entwicklung zu verschieben.

Wann werden Quellcode-Releases erstellt?

Wenn sie bereit sind. Das Freigeben des Quellcodes ist ein ziemlich komplexer Prozess. Einige Teile von Android werden offen entwickelt, und dieser Quellcode ist immer verfügbar. Andere Teile werden zuerst in einem privaten Baum entwickelt, und dieser Quellcode wird veröffentlicht, wenn die nächste Plattformversion fertig ist.

In einigen Versionen sind Kernplattform-APIs weit genug im Voraus fertig, sodass wir den Quellcode für einen frühen Blick vor der Veröffentlichung des Geräts veröffentlichen können. In anderen Versionen ist dies nicht möglich. In allen Fällen veröffentlichen wir die Plattformquelle, wenn wir der Meinung sind, dass die Version stabil ist und wenn der Entwicklungsprozess dies zulässt.

Was ist an der Veröffentlichung des Quellcodes für eine neue Android-Version beteiligt?

Die Veröffentlichung des Quellcodes für eine neue Version der Android-Plattform ist ein wichtiger Prozess. Zunächst wird die Software in ein Systemabbild für ein Gerät integriert und verschiedenen Formen der Zertifizierung unterzogen, einschließlich behördlicher Zertifizierungen für die Regionen, in denen die Telefone eingesetzt werden. Der Code durchläuft auch Bedienertests. Dies ist eine wichtige Phase des Prozesses, da sie hilft, Softwarefehler zu erkennen.

Wenn die Freigabe von den Aufsichtsbehörden und Betreibern genehmigt wurde, beginnt der Hersteller mit der Massenproduktion von Geräten und wir beginnen mit der Veröffentlichung des Quellcodes.

Parallel zur Massenproduktion startet das Google-Team mehrere Anstrengungen, um die Open-Source-Veröffentlichung vorzubereiten. Diese Bemühungen umfassen das Vornehmen letzter API-Änderungen, das Aktualisieren der Dokumentation (um beispielsweise Änderungen widerzuspiegeln, die während der Qualifizierungstests vorgenommen wurden), das Vorbereiten eines SDK für die neue Version und das Starten der Plattformkompatibilitätsinformationen.

Unser Rechtsteam führt eine endgültige Freigabe durch, um den Code für Open Source freizugeben. So wie Open-Source-Beitragende verpflichtet sind, eine Lizenzvereinbarung für Mitwirkende zu unterzeichnen, die ihr geistiges Eigentum an ihrem Beitrag bescheinigt, muss Google überprüfen, ob die Quelle für Beiträge freigegeben ist.

Ab Beginn der Massenproduktion dauert der Software-Release-Prozess normalerweise etwa einen Monat, sodass Quellcode-Releases oft ungefähr zur gleichen Zeit erfolgen, zu der die Geräte die Benutzer erreichen.

In welcher Beziehung steht AOSP zum Android-Kompatibilitätsprogramm?

Das Android Open Source Project pflegt Android-Software und entwickelt neue Versionen. Da es sich um Open Source handelt, kann diese Software für jeden Zweck verwendet werden, einschließlich der Entwicklung von Geräten, die nicht mit anderen Geräten kompatibel sind, die auf derselben Quelle basieren.

Die Funktion des Android-Kompatibilitätsprogramms besteht darin, eine Basisimplementierung von Android zu definieren, die mit von Entwicklern geschriebenen Apps von Drittanbietern kompatibel ist. Geräte, die mit Android kompatibel sind, sind berechtigt, am Android-Ökosystem teilzunehmen, einschließlich Google Play; Geräte, die die Kompatibilitätsanforderungen nicht erfüllen, existieren außerhalb dieses Ökosystems.

Mit anderen Worten: Mit dem Android-Kompatibilitätsprogramm trennen wir Android-kompatible Geräte von Geräten, auf denen lediglich Ableitungen des Quellcodes ausgeführt werden. Wir begrüßen alle Verwendungen des Android-Quellcodes, aber um am Android-Ökosystem teilnehmen zu können, muss ein Gerät vom Programm als Android-kompatibel identifiziert werden.

Wie kann ich zu Android beitragen?

Sie können Fehler melden, Apps für Android schreiben oder Quellcode zum Android Open Source Project beitragen.

Es gibt Grenzen für die Arten von Code-Beiträgen, die wir akzeptieren. Jemand möchte beispielsweise eine alternative Anwendungs-API beisteuern, z. B. eine vollständig auf C++ basierende Umgebung. Wir würden diesen Beitrag ablehnen, da Android dazu anregt, Anwendungen in der ART-Laufzeit auszuführen. Ebenso akzeptieren wir keine Beiträge wie GPL- oder LGPL-Bibliotheken, die mit unseren Lizenzierungszielen nicht vereinbar sind.

Wir ermutigen diejenigen, die daran interessiert sind, Quellcode beizusteuern, uns über die auf der Android-Community -Seite aufgeführten Kanäle zu kontaktieren, bevor sie mit der Arbeit beginnen. Einzelheiten finden Sie unter Beitragen .

Wie werde ich Android-Committer?

Das Android Open Source Project hat nicht wirklich eine Vorstellung von einem Committer . Alle Beiträge (einschließlich der von Google-Mitarbeitern verfassten) durchlaufen ein webbasiertes System namens Gerrit, das Teil des Android-Entwicklungsprozesses ist. Dieses System arbeitet mit dem Git-Quellcodeverwaltungssystem zusammen, um Quellcodebeiträge sauber zu verwalten.

Nach der Übermittlung müssen Änderungen von einem designierten Genehmiger akzeptiert werden. Genehmiger sind in der Regel Google-Mitarbeiter, aber dieselben Genehmiger sind unabhängig von der Herkunft für alle Übermittlungen verantwortlich.

Einzelheiten finden Sie unter Senden von Patches .

Zurück nach oben

Kompatibilität

Was ist Android „Kompatibilität“?

Wir definieren ein Android-kompatibles Gerät als ein Gerät, auf dem jede Anwendung ausgeführt werden kann, die von Drittentwicklern mit dem Android SDK und NDK geschrieben wurde. Wir verwenden dies als Filter, um Geräte zu trennen, die am Android-App-Ökosystem teilnehmen können, und solche, die dies nicht können. Für Geräte, die ordnungsgemäß kompatibel sind, können Gerätehersteller eine Genehmigung zur Verwendung der Android-Marke beantragen. Nicht kompatible Geräte werden aus dem Android-Quellcode abgeleitet und dürfen die Android-Marke nicht verwenden.

Mit anderen Worten, Kompatibilität ist eine Voraussetzung für die Teilnahme am Android-Apps-Ökosystem. Jeder ist willkommen, den Android-Quellcode zu verwenden. Aber wenn das Gerät nicht kompatibel ist, wird es nicht als Teil des Android-Ökosystems angesehen.

Welche Rolle spielt Google Play bei der Kompatibilität?

Gerätehersteller mit Android-kompatiblen Geräten können versuchen, die Google Play-Client-Software zu lizenzieren. Lizenzierte Geräte werden Teil des Android-App-Ökosystems und ermöglichen es ihren Benutzern, Entwickler-Apps aus einem Katalog herunterzuladen, der von allen kompatiblen Geräten gemeinsam genutzt wird. Die Lizenzierung ist für inkompatible Geräte nicht verfügbar.

Welche Arten von Geräten können Android-kompatibel sein?

Android-Software kann auf viele verschiedene Geräte portiert werden, einschließlich einiger, auf denen Apps von Drittanbietern nicht ordnungsgemäß ausgeführt werden. Das Android Compatibility Definition Document (CDD) legt die spezifischen Gerätekonfigurationen fest, die als kompatibel gelten.

Obwohl beispielsweise der Android-Quellcode portiert werden könnte, um auf einem Telefon ohne Kamera ausgeführt zu werden, verlangt das CDD, dass alle Telefone eine Kamera haben. Dadurch können sich Entwickler beim Schreiben ihrer Apps auf konsistente Funktionen verlassen.

Die CDD entwickelt sich weiter, um die Marktrealitäten widerzuspiegeln. Beispielsweise unterstützt Version 1.6 des CDD nur Mobiltelefone. Aber Version 2.1 erlaubt Geräten, Telefonie-Hardware wegzulassen, wodurch Nicht-Telefongeräte wie Musikplayer im Tablet-Stil kompatibel sind. Während wir diese Änderungen vornehmen, erweitern wir auch Google Play, damit Entwickler die Kontrolle darüber behalten, wo ihre Apps verfügbar sind. Um mit dem Telefonie-Beispiel fortzufahren: Eine App, die SMS-Textnachrichten verwaltet, ist auf einem Mediaplayer nicht nützlich, daher erlaubt Google Play dem Entwickler, diese App ausschließlich auf Telefongeräte zu beschränken.

Wenn mein Gerät kompatibel ist, hat es automatisch Zugriff auf Google Play und Branding?

Nein. Der Zugriff erfolgt nicht automatisch. Google Play ist ein von Google betriebener Dienst. Das Erreichen der Kompatibilität ist eine Voraussetzung für den Zugriff auf die Google Play-Software und das Branding. Nachdem ein Gerät als Android-kompatibles Gerät qualifiziert wurde , sollte der Gerätehersteller das Kontaktformular ausfüllen, das in der Lizenzierung von Google Mobile Services enthalten ist, um Zugriff auf Google Play zu erhalten. Wir werden uns mit Ihnen in Verbindung setzen, wenn wir Ihnen helfen können.

Wie bekomme ich Google Play, wenn ich kein Hersteller bin?

Google Play ist nur für Mobiltelefonhersteller lizenziert, die Geräte versenden. Wenden Sie sich bei Fragen zu bestimmten Fällen an android-partnerships@google.com .

Wie erhalte ich Zugriff auf Google-Apps für Android, z. B. Maps?

Google-Apps für Android wie beispielsweise YouTube, Google Maps und Gmail sind Google-Eigenschaften, die nicht Teil von Android sind und separat lizenziert werden. Wenden Sie sich bei Anfragen zu diesen Apps an android-partnerships@google.com .

Ist Kompatibilität obligatorisch?

Nein. Das Android-Kompatibilitätsprogramm ist optional. Der Android-Quellcode ist offen, sodass jeder ihn verwenden kann, um jede Art von Gerät zu bauen. Wenn Hersteller jedoch den Namen Android mit ihren Produkten verwenden oder auf Google Play zugreifen möchten, müssen sie zunächst nachweisen, dass ihre Geräte kompatibel sind .

Wie viel kostet eine Kompatibilitätszertifizierung?

Es fallen keine Kosten an, um Android-Kompatibilität für ein Gerät zu erhalten. Die Compatibility Test Suite ist Open Source und steht jedem zum Testen von Geräten zur Verfügung.

Wie lange dauert die Kompatibilität?

Der Prozess ist automatisiert. Die Compatibility Test Suite generiert einen Bericht, der Google zur Überprüfung der Kompatibilität bereitgestellt werden kann. Schließlich beabsichtigen wir, Self-Service-Tools bereitzustellen, um diese Berichte in eine öffentliche Datenbank hochzuladen.

Wer legt die Kompatibilitätsdefinition fest?

Google ist für die allgemeine Ausrichtung von Android als Plattform und Produkt verantwortlich, daher pflegt Google das Compatibility Definition Document (CDD) für jede Version. Wir entwerfen die CDD für eine neue Android-Version in Absprache mit verschiedenen OEMs, die Input liefern.

Wie lange wird jede Android-Version für neue Geräte unterstützt?

Der Code von Android ist Open Source, daher können wir nicht verhindern, dass jemand eine alte Version verwendet, um ein Gerät zu starten. Stattdessen entscheidet sich Google dafür, die Google Play-Clientsoftware nicht für die Verwendung in Versionen zu lizenzieren, die als veraltet gelten. Dies ermöglicht es jedem, weiterhin alte Versionen von Android zu versenden, aber diese Geräte verwenden nicht den Android-Namen und existieren außerhalb des Android-App-Ökosystems, als ob sie nicht kompatibel wären.

Kann ein Gerät eine andere Benutzeroberfläche haben und trotzdem kompatibel sein?

Das Android-Kompatibilitätsprogramm bestimmt, ob auf einem Gerät Anwendungen von Drittanbietern ausgeführt werden können. Die mit einem Gerät gelieferten Komponenten der Benutzeroberfläche (z. B. Startbildschirm, Dialer und Farbschema) haben im Allgemeinen keine großen Auswirkungen auf Apps von Drittanbietern. Daher können Gerätehersteller die Benutzeroberfläche frei anpassen. Das Compatibility Definition Document schränkt den Umfang ein, in dem OEMs die Benutzeroberfläche des Systems für Bereiche ändern dürfen, die sich auf Apps von Drittanbietern auswirken.

Wann werden Kompatibilitätsdefinitionen für neue Android-Versionen veröffentlicht?

Unser Ziel ist es, eine neue Version des Android Compatibility Definition Document (CDD) zu veröffentlichen, wenn die entsprechende Android-Plattformversion ausreichend konvergiert ist, um dies zuzulassen. Obwohl wir keinen endgültigen Entwurf einer CDD für eine Android-Softwareversion veröffentlichen können, bevor das erste Flaggschiff-Gerät mit dieser Software ausgeliefert wird, werden endgültige CDDs immer nach dem ersten Gerät veröffentlicht. Wo immer dies praktikabel ist, veröffentlichen wir jedoch Entwurfsversionen von CDDs.

Wie werden die Kompatibilitätsangaben der Gerätehersteller validiert?

Es gibt keinen Validierungsprozess für die Kompatibilität von Android-Geräten. Wenn das Gerät jedoch Google Play enthalten soll, validiert Google das Gerät normalerweise auf Kompatibilität, bevor es der Lizenzierung der Google Play-Clientsoftware zustimmt.

Was passiert, wenn bei einem angeblich kompatiblen Gerät später Kompatibilitätsprobleme festgestellt werden?

In der Regel erlauben uns die Beziehungen von Google zu Google Play-Lizenznehmern, den Gerätehersteller zu bitten, aktualisierte System-Images herauszugeben, die die Probleme beheben.

Zurück nach oben

Kompatibilitätstest-Suite

Was ist der Zweck des CTS?

Die Compatibility Test Suite ist ein Tool, das von Geräteherstellern verwendet wird, um sicherzustellen, dass ihre Geräte kompatibel sind, und um Testergebnisse für Validierungen zu melden. Das CTS soll von OEMs während des gesamten Entwicklungsprozesses häufig ausgeführt werden, um Kompatibilitätsprobleme frühzeitig zu erkennen.

Was testet das CTS?

Der CTS testet derzeit, ob alle unterstützten stark typisierten Android-APIs vorhanden sind und sich korrekt verhalten. Es testet auch andere Nicht-API-Systemverhalten wie Anwendungslebenszyklus und Leistung. Wir planen, Unterstützung in zukünftigen CTS-Versionen hinzuzufügen, um Soft -APIs wie Intents zu testen.

Werden die CTS-Berichte veröffentlicht?

Ja. Obwohl derzeit nicht implementiert, beabsichtigt Google, webbasierte Self-Service-Tools für OEMs bereitzustellen, um CTS-Berichte zu veröffentlichen, damit jeder sie einsehen kann. Hersteller können CTS-Berichte mit einem beliebig breiten Publikum teilen.

Wie wird das CTS lizenziert?

Der CTS ist unter derselben Apache Software License 2.0 lizenziert, die der Großteil von Android verwendet.

Akzeptiert die CTS Beiträge?

Ja bitte! Das Android Open Source Project akzeptiert Beiträge zur Verbesserung des CTS wie für jede andere Komponente. Tatsächlich ist die Verbesserung der Abdeckung und Qualität der CTS-Testfälle eine der besten Möglichkeiten, Android zu helfen.

Kann jeder den CTS auf vorhandenen Geräten verwenden?

Das Kompatibilitätsdefinitionsdokument erfordert, dass kompatible Geräte das adb Debugging-Dienstprogramm implementieren. Das bedeutet, dass jedes kompatible Gerät (einschließlich der im Handel erhältlichen) in der Lage sein muss, die CTS-Tests auszuführen.

Werden Codecs von CTS verifiziert?

Ja. Alle obligatorischen Codecs werden von CTS verifiziert.

Zurück nach oben