Google Play: mind. Android 8.0 (API level 26) - Eclipse

  • 16 Antworten
  • Letztes Antwortdatum
K

Knoxxx

Fortgeschrittenes Mitglied
0
Hallo,

Google Play schreibt vor, dass Apps (
ab 1. November)
mindestens für Android Oreo (API level 26) erstellt werden müssen bzw. dass die
targetSdkVersion
mind. 26 sein muss. Dann muss ich also bei Eclipse im Manifest nur die android:targetSdkVersion auf 26 setzen. Oder muss ich die android:minSdkVersion auch auf 26 setzen?

VG
K.
 
Da wirst du wohl auf android Studio unmsteigen müssen den das adt plugin für eclips wird nur bis API 23 unterstützt.

targetSdkVersion 26
CompileSdk 26
minSdkVersion kann niedriger sein.
 
Nur die TargetSdkVersion muss auf 26 gestellt werden und so wie yogimuc sagte: Warum bist du noch auf Eclipse, ich hatte da auch Probleme am Anfang umzusteigen vor ein paar Jahren aber es ist nicht so schlimm, bringt nur Vorteile
 
Nicht nur Vorteile mit eclipse kannst du keine App für Abi 26 erstellen da das sdk nicht mehr unterstützt wird. Und die compilesdk muss ebenfalls min 26 sonnst nutst dir das Target nichts.
 
Das target SDK gibt auch nur an dass du gegen die API getestet hast und so wird eine auf Android API 26 laufende App keine Kompatibilitätsmodi einschalten, da du dem System mitgeteilt hast du hast es gegen diese API getestet.

Aber ob du tatsächlich gegen API 26 getestet hast und damit das target SDK auf 26 gesetzt hat das prüft Android gar nicht.

Er kann als minSdkVersion 15 angeben gegen compileSdkVersion 21 kompilieren und die App auf targetSdkVersion 26 stellen alles kein Problem, solange er nichts über API 21 benutzt natürlich
 
Das ist aber nicht was Google will sie wollen eine echte API 26 und das geht nur mit Compiler 26 und target 26 .
Nur ein target 26 wird Google auch ablehnen.
 
Habe nichts darüber gefunden dass compileSdkVersion gleich der targetSdkversion sein soll:

Meet Google Play's target API level requirement  |  Android Developers

Upload an app - Play Console Help

Auch ein Zitat aus Meet Google Play's target API level requirement  |  Android Developers

It should be emphasized that changing your compileSdkVersion does not change runtime behavior. While new compiler warnings/errors may be present when changing your compileSdkVersion, your compileSdkVersion is not included in your APK: it is purely used at compile time. (You should really fix those warnings though — they were added for a reason!)

Wie man sehen kann ist es egal ob deine compileSdkVersion gleich deiner targetSdkVersion ist, in der APK kann man diese jedenfalls nicht auslesen also daher:

Falls du nciht zu viel Arbeit haben möchtest oder es als unwichtig erachtest wirklich gegen API 26 zu testen: Setze deine targetSDKVersion auf 26 und gut ist :)
 
Ich habe nicht behauptet das sie gleich sein muss. Nur sie sollte höher sein als das target. Sonnst hart es auch keinen sinn.
Außerdem kann man auch in der apk ermitteln mit welcher build Version übersetzt wurde.

Und eine richtige apk mit api 23 unter eclipse kannste auch vergessen.
In der aktuellen studio Version ist es so das du compile version nicht unter 25 oder gar 26 stellen kannst ohne dein cradle zu verändern.
Da wirst du immer Fehler bekommen, somit macht die ganze Diskussion keinen Sinn. Das taget kannste auch auf API 19 oder was auch immer stellen.
Nur will eben Google keine alten Versionen stor mehr haben.
 
jogimuc schrieb:
Nur will eben Google keine alten Versionen stor mehr haben.

Dann hätten die meiner Meinung nach gleich eine minSdkVersion von 23 machen sollen statt die targetSdkVersion hochsetzen, die nur Makulatur ist im Endeffekt.


Was ich hier daraus lese aus deren schritt die Target auf mindestens 26 zu setzen ist dass Entwickler sich um Runtime Permissions kümmern statt wie vorher einfach auf 22 zu setzen und bei der Intallation einfach alle permissions auf einmal anfordern
 
Zuletzt bearbeitet:
Dann hätten die meiner Meinung nach gleich eine minSdkVersion von 23 machen sollen statt die targetSdkVersion hochsetzen, die nur Makulatur ist im Endeffekt.
das es nur Makulatur ist würde ich nicht sagen den um zb. Eine app mit target 26 zu erstellen muss die compile version auf mindestens 26 sein das trifft auch auf die Supportlibs zu an dehnen du zb. die compile version feststellen kannst.

Auch wird nicht nur die permision der Grund dafür sein, sicherlich auch einige Sicherheits Aspekte. Denn in dem Framework wurde einiges getragen auch spielt da die 64 Bit Kompatibilität eine Rolle. Auch viele Methoden wie zum Beispiel die impliziten intens die immer ein Sicherheit Risiko darstellten. All diese Punkte wird wohl Google dazu bewegt haben das nur noch das Framwork von API 26 beim kompiliren benutzt werden soll.
Um das zu erreichen haben sie das target auf 26 erhöht.
Denn du kannst keine vernünftige Apk erstellen mit target 26 und compile zb 22.
Das währe Makulatur und würde Google bestimmt chaken. Und deine app ablehnen wenn du das überhaupt kompiliert bekommst.

Das ganze hat nichts mit der min Version zu tunen. Du kannst trotzdem eine App mit min sdk 19 oder kleiner erstellen die dann auch auf dem Handy läuft.
Es soll eben nur nicht mehr das alte Frameworks zum übersetzen benutzt werden.

Das du mir dem studio sowieso für die compile version minimum 25 braucht hast du da auch wenig Möglichkeiten.

Und nun nochmal zu Thema da sind wir uns ja wohl einig, das man mit eclipse keine apk über sdk 22 erstellen kann. Somit ist ecklipce mit dem adt raus und kann nicht mehr für google play benutzt werden.
 
Zuletzt bearbeitet:
Meine Erfahrung ist folgende:
Um eine App in den Google Play Store hochzuladen, muss aktuell tatsächlich die targetSDK = 26 oder höher sein, die minSDK kann ruhig sehr viel niedriger sein, die compileSDK kann ebenfalls sehr viel niedriger sein als 26 (z. B. auch Api-Level 8), dies wird vom Play Store akzeptiert. Habe ich gerade ausprobiert.
Viel Erfolg!
 
Das mag sein das es von Google akzeptiert wird. Nur was bringt das dir?
Deine App wird mit einer alten oder gar keiner Supportlib erstellt. Neuere Methoden sind auch nicht vorhanden Funktionen dann bestimmt auch nicht richtig.
Macht keinen Sinn.
 
Du brauchst insbesondere compileSdk auf ähnlicher Höhe wie targetSdk um die ganzen Requirements, die mit dem targetSdk einhergehen überhaupt ansprechen zu können. Wenn du gegen geringeres Sdk compilierst fehlen schlicht die APIs für z.B. runtime Perrmissions, JobScheduler, NotificationChannels, etc..
 
  • Danke
Reaktionen: jogimuc
Deshalb gibt des die support Libs. Damit das auf Geräten läuft, deren Android Versionen kleiner als das Target ist. Wenn man ein zu alte Android SDK benutzt, kann es passieren, dass die App nicht mehr auf neuen Geräten lauffähig ist.

Level 26 ist Plicht, weil Google den Stromverbrauch der Apps drücken möchte. Ältere SDK Versionen brauchen mehr Energie, welche dann nicht mehr für die größeren Displays Verfügung stehen.
Zusätzlich laufen die Apps mit neueren Code, weil die Targetversion vorgibt, mit welcher SDK Version die APK gebaut wird.

Und das ganze mach schon Sinn, wenn man Apps für bestimmte Devices entwickelt hat, und auf eine neuere Version updaten will. Das ist besonders interessant für Industrieapps, die nicht im Store angeboten werden, und Spezialentwicklungen sind. Da braucht man zwischenzeitlich Hybridlösungen.
 
Markus du sagst es nicht im Store wir reden hier aber über den Store.

Wenn man solche Sachen machen will oder muss dann ist man sich eigentlich bewusst die App nicht bei Google play einzustellen.

[interessant für Industrieapps, die nicht im Store angeboten werden, und Spezialentwicklungen sind. Da braucht man zwischenzeitlich Hybridlösungen.
Das ist auch richtig war aber hier nicht das Thema.

Jakob21 ging es eigentlich darum googel auszutricksen was keinen Sinn macht.
 
Zuletzt bearbeitet:
Im Store gilt eigentlich das gleiche. Wenn du für ein größeren App arbeitest, können die Release Zyklen schon mal länger als ein 1/2 Jahr dauern. Und ein Update muss geplant werden, das dauert (Implementation, Doku, Test usw). Und wenn die Zeit nicht reicht, wird ein Teil nach dem anderen Teil umgebaut. Und für die Lösungen brauchst du das ganze.

Wenn du ein Beispiel brauchst, nimm den Bahn Navigator. Das ist ein bekannte App, wo eine großes Team arbeitet. Die haben sehr viele Abhängigkeiten (Fahrpläne, Ticketverkäufe usw). Da wird jedes Update nicht in einen Rutsch ausgerollt, sondern schrittweise angepasst und ausgerollt.
D.h es gibt Code in der App die mi verschieden SDK's entwickelt wurde.

Und ich glaube, das Problem war nicht, Google auszutricksen. Sondern mit Eclipse ein apk für den Appstore zu bauen. Was leider nicht mehr geht.
 
Das Eclipse nicht mehr sinnvoll ist habe ich schon gesagt.
 

Ähnliche Themen

Soljim
Antworten
8
Aufrufe
759
Soljim
Soljim
Soljim
Antworten
5
Aufrufe
733
swa00
swa00
ocram2911
Antworten
7
Aufrufe
1.135
swa00
swa00
Zurück
Oben Unten