Το Play Store θα απαιτεί νέες και ενημερωμένες εφαρμογές για να στοχεύει νεότερα επίπεδα API και να διανέμει τον εγγενή κώδικα με υποστήριξη 64-bit

click fraud protection

Η Google ανακοίνωσε ένα σύνολο σημαντικών νέων απαιτήσεων για νέες εφαρμογές και εφαρμογές που ενημερώνονται στο Google Play Store. Προετοιμάστε τις εφαρμογές σας τώρα!

Σε μια ανάρτηση ιστολογίου σήμερα, η Google ανακοίνωσε σημαντικές επερχόμενες αλλαγές στις εφαρμογές που υποβάλλονται στο Play Store. Αυτές οι αλλαγές έχουν σχεδιαστεί για να βελτιώσουν την ασφάλεια για τον τελικό χρήστη απαιτώντας από τους προγραμματιστές να στοχεύουν νεότερα επίπεδα API. Επιπλέον, η Google θα αρχίσει επίσης να απαιτεί οι εφαρμογές που διανέμουν εγγενείς βιβλιοθήκες να παρέχουν επίσης εκδόσεις 64-bit αυτών των βιβλιοθηκών. Ωστόσο, αυτές οι αλλαγές δεν θα επηρεαστούν μέχρι τα μέσα του 2018 και τα μέσα του 2019 αντίστοιχα, επομένως οι προγραμματιστές θα έχουν άφθονο χρόνο για να εργαστούν σε ενημερώσεις για να αντιμετωπίσουν αυτές τις νέες απαιτήσεις. Ας βουτήξουμε λίγο βαθύτερα στο τι σημαίνουν αυτές οι αλλαγές τόσο για τους προγραμματιστές όσο και για τους τελικούς χρήστες.


Αλλαγή #1: Στόχευση νεότερου επιπέδου API

Το πιο πρόσφατο επίπεδο API είναι 27, το οποίο αντιστοιχεί με το Έκδοση Android 8.1. Πριν από αυτό είναι το επίπεδο API 26 που αντιστοιχεί στο Android 8.0 Oreo. Εκκίνηση Αύγουστος 2018, όποιος νέες εφαρμογές που υποβάλλονται στο Play Store πρέπει να στοχεύει τουλάχιστον το επίπεδο 26 του API. Επιπλέον, ξεκινώντας Νοέμβριος 2018, ενημερώσεις σε υπάρχουσες εφαρμογές πρέπει επίσης API στόχου επιπέδου 26 ή υψηλότερο.

Ωστόσο, αυτές οι απαιτήσεις δεν είναι στατικές. Το 2019, η Google θα αυξήστε την απαίτηση targetSdkVersion μετά από ένα χρόνο μετά από κάθε σημαντική έκδοση Android. Για παράδειγμα, 1 έτος μετά την κυκλοφορία του Android P, οι εφαρμογές πρέπει να στοχεύουν το επίπεδο API 28 ή υψηλότερο.

Λάβετε υπόψη ότι αυτές οι απαιτήσεις είναι μόνο για το επίπεδο API-στόχου, και όχι για το ελάχιστο. Αυτό σημαίνει ότι μπορείτε ακόμα να δημιουργήσετε εφαρμογές που θα λειτουργούν σε παλαιότερες εκδόσεις του Android, όπως το Android Lollipop. Αυτό είναι σημαντικό γιατί εξακολουθούν να υπάρχουν εκατομμύρια χρήστες που χρησιμοποιούν παλαιότερες εκδόσεις Android στις συσκευές τους. Ποιο ελάχιστο επίπεδο API πρέπει να εφαρμόσετε; Ακολουθηστε @minSdkVersion στο Twitter για να ενημερώνεστε για το πότε πρέπει να το αλλάξετε.

Όσο για τις εφαρμογές που δεν θα λαμβάνουν ενημερώσεις για το άμεσο μέλλον, τίποτα δεν θα αλλάξει. Αυτές οι εφαρμογές θα συνεχίσουν να υπάρχουν, αν και φυσικά δεν θα μπορούν να επωφεληθούν από τυχόν νέες δυνατότητες που εισάγονται σε νεότερα SDK. Αν το ο προγραμματιστής μιας τέτοιας εφαρμογής επιθυμεί να ενημερώσει την εφαρμογή του για οποιονδήποτε λόγο, τότε θα πρέπει να ενημερώσει την εφαρμογή του για να πληροί τις απαιτήσεις στο υψηλότερο API επίπεδο.

Αυτό είναι ένα όφελος για την ασφάλεια των χρηστών. Το Android 6.0 Marshmallow εισήγαγε δικαιώματα χρόνου εκτέλεσης, τα οποία προστατεύουν ορισμένα ευαίσθητα δικαιώματα, όπως η πρόσβαση σε τοποθεσία ή επαφές πίσω από ένα παράθυρο διαλόγου που πρέπει να αποδεχθεί ο χρήστης. Ωστόσο, οι εφαρμογές θα μπορούσαν να παρακάμψουν τα δικαιώματα χρόνου εκτέλεσης στοχεύοντας ένα παλαιότερο επίπεδο API. Εάν μια εφαρμογή στοχεύει αυτό το παλαιότερο επίπεδο API, τότε τα δικαιώματα παραχωρούνται κατά την εγκατάσταση.

Επιπλέον, οι νέοι περιορισμοί του Android Oreo σχετικά με την εκτέλεση εφαρμογών στο παρασκήνιο, τους σιωπηρούς δέκτες εκπομπής και τα όρια τοποθεσίας στο παρασκήνιο αποτελούν προϋπόθεση μόνο για εφαρμογές που στοχεύουν το επίπεδο API 26. Δεδομένου ότι αυτό το επίπεδο API θα είναι απαίτηση στο μέλλον, αυτό σημαίνει ότι οποιοσδήποτε χρήστης που χρησιμοποιεί Android Oreo δεν θα χρειάζεται να ανησυχεί ότι μια εφαρμογή δεν βελτιστοποιείται από τους νέους περιορισμούς του Android Oreo.

Σημείωση για μελλοντικές εκδόσεις Android

Υπάρχει μια ρήτρα σε αυτή τη νέα απαίτηση που είναι ενδιαφέρουσα. Για να παραθέσω την ανάρτηση του ιστολογίου:

Οι μελλοντικές εκδόσεις Android θα περιορίσουν επίσης τις εφαρμογές που δεν στοχεύουν ένα πρόσφατο επίπεδο API και επηρεάζουν αρνητικά την απόδοση ή την ασφάλεια.

Ενώ η προηγούμενη απαίτηση επηρεάζει μόνο νέες εφαρμογές ή ενημερωμένες εφαρμογές που υποβάλλονται στο Play Store, αυτή η πρόταση φαίνεται να προτείνουμε ότι μια μελλοντική έκδοση του Android θα θέσει επίσης περιορισμούς στις εφαρμογές που δεν είναι ενημερωμένοι με τα πρόσφατα επίπεδα API. Παρουσιάστηκε το Android 8.0 Oreo δικαιώματα μόνο για χρόνο εκτέλεσης οι οποίες απαιτούν μια εφαρμογή να στοχεύει το επίπεδο API 23, έτσι ώστε η Google να αρχίσει να θέτει νέες δυνατότητες πίσω από τέτοιους περιορισμούς.

Αλλαγή #2: Υποστήριξη 64-bit για εγγενή κώδικα

Η πλειονότητα των ναυαρχίδων συσκευών Android έχουν τσιπ βασισμένα σε αρχιτεκτονική 64-bit. Σύμφωνα με την Google, πάνω από το 40% των συσκευών έχουν υποστήριξη 64-bit. Οι εφαρμογές που διανέμουν εγγενείς βιβλιοθήκες μπορούν επί του παρόντος να βασίζονται μόνο σε κώδικα 32 bit και οι συσκευές 64 bit θα εξακολουθούν να λειτουργούν λόγω συμβατότητας προς τα πίσω.

Ωστόσο, δεδομένου ότι ο κώδικας 64-bit μπορεί να προσφέρει καλύτερη απόδοση, η Google θα το κάνει απαιτούν ότι οι προγραμματιστές των οποίων οι εφαρμογές χρησιμοποιούν εγγενείς βιβλιοθήκες πρέπει να έχουν μια εναλλακτική λύση 64-bit για εκτέλεση μόνο σε συσκευές 64-bit. Οι εφαρμογές μπορούν να περιλαμβάνουν βιβλιοθήκη 32 bit και 64 bit ή να διανέμουν πολλές εκδόσεις του APK με οποιαδήποτε βιβλιοθήκη χρησιμοποιώντας το πολλαπλά APK χαρακτηριστικό στην Κονσόλα προγραμματιστή. Αυτή η απαίτηση θα τεθεί σε ισχύ από τον Αύγουστο του 2019 και δεν επηρεάζει εφαρμογές που δεν εκτελούν εγγενή κώδικα.

Αυτή η τελευταία αλλαγή δεν απαιτεί καμία ενέργεια από την πλευρά των προγραμματιστών. Αντίθετα, το Google Play θα το χειριστεί αυτόματα. Το Play Store θα αρχίσει να προσθέτει ένα μικρή ποσότητα μεταδεδομένων σε κάθε APK το οποίο θα επαληθεύσει ότι μια εφαρμογή διανεμήθηκε επίσημα από το Google Play Store. Το μέγιστο μέγεθος APK του Google Play θα αυξηθεί για να ληφθούν υπόψη αυτά τα νέα μεταδεδομένα, αλλά τίποτα δεν θα πρέπει να αλλάξει στις εφαρμογές των προγραμματιστών.


Πηγή: Google