Sollten Android-Bibliotheken targetSdkVersion definieren?

8

Ich verstehe, warum es für eine Bibliothek nützlich ist, die minSdkVersion zu definieren, aber fügt eine Bibliothek mit der definierten targetSdkVersion einen beliebigen Wert hinzu?

Ich bin nicht sicher, ob es irgendwelche Probleme mit Bibliotheken geben würde, die niedrigere und höhere targetSdkVersions als das Hauptprojekt haben. Werden sie einfach ignoriert, wenn das Hauptprojekt es definiert? Oder nimm die niedrigere / höhere? Android-Apps können bei verschiedenen targetSdkVersion anders funktionieren (z. B. Marshmallow-Laufzeitberechtigungen).

    
Anonsage 17.02.2016, 19:06
quelle

2 Antworten

0

Die Android-Webseite @ uses-sdk sagt, dass targetSdkVersion

  

Gibt die API-Ebene an, auf der die Anwendung ausgeführt werden soll.

In Bezug auf Ihre Frage gibt die Bibliothek die targetSdkVersion an, um die Android-API zu beanspruchen, unter der sie getestet wurde. Wenn die tatsächliche API auf dem Android-Gerät höher ist, bietet Android die Vorwärtskompatibilität. Sie können nach dem Text "Vorwärtskompatibilität" auf dieser Webseite für Details suchen.

Hoffentlich beantwortet das alle Ihre Fragen. Viel Spaß ...

    
The Original Android 24.03.2016 06:20
quelle
0

Dokumentation bezüglich targetSDKVersion:

  

Eine Ganzzahl, die die API-Ebene bezeichnet, auf die die Anwendung abzielt. Wenn nicht festgelegt, entspricht der Standardwert der Angabe für minSdkVersion.   Dieses Attribut informiert das System, dass Sie mit der Zielversion getestet haben, und das System sollte kein Kompatibilitätsverhalten aktivieren, um die Vorwärtskompatibilität Ihrer App mit der Zielversion aufrechtzuerhalten. Die Anwendung kann immer noch auf älteren Versionen laufen (bis zu minSdkVersion).

Eine Android-Bibliothek targetSdkVersion teilt der Host-Anwendung mit, wie sich Ihre Bibliothek verhalten soll. Der Manifest-Merger hat bestimmte Regeln zum Zusammenführen von targetSdkVersion:

  

Attribute im Element verwenden immer den Wert aus dem Manifest mit der höheren Priorität, außer in den folgenden Situationen:

     
  • Wenn das Manifest mit der niedrigeren Priorität einen Wert für 'minSdkVersion' hat   höher, tritt ein Fehler auf, es sei denn, Sie wenden die overrideLibrary-Zusammenführung an   Regel.
  •   
  • Wenn das Manifest mit der niedrigeren Priorität über einen targetSdkVersion-Wert verfügt   niedriger verwendet das Merger-Tool den Wert aus der höheren Priorität   Manifest, aber es fügt auch alle Systemberechtigungen hinzu, die erforderlich sind   um sicherzustellen, dass die importierte Bibliothek weiterhin ordnungsgemäß funktioniert   (für Fälle, in denen die höhere Android-Version zugenommen hat   Berechtigungseinschränkungen). Weitere Informationen zu diesem Verhalten   siehe Abschnitt über implizite Systemberechtigungen.
  •   
    
Benites 28.02.2018 16:35
quelle

Tags und Links