Androidi rakenduste arendus areneb pidevalt ja üks olulisemaid muutusi viimastel aastatel on olnud... AndroidX. See uus teekide struktuur kujutab endast hüpet edasi vanadest tugiteekidest ning mõjutab nii rakenduste nullist arendamise viisi kui ka vajadust olemasolevaid projekte migreerida, et säilitada ühilduvus, tugi ja turvalisus. Põhjalik arusaam sellest, kuidas AndroidX-ile üle minna, on oluline igale Androidi arendajale, kes soovib luua kaasaegseid, tõhusaid ja skaleeritavaid rakendusi.
Mis on AndroidX ja miks see on Androidi arenduses nii oluline?
AndroidX See on vanade ühilduvusraamatukogude, mida tuntakse tugiraamatukogudena, edasiarendus. Selle loomine vastab vajadusele pakkuda sidusamat, modulaarsemat ja jätkusuutlikumat arenduskogemust, integreerides uusi funktsioone ja parimaid tavasid, mis hõlbustavad nii tööd kui ka edasist hooldust. AndroidX-i teegid majutatakse nimeruumi all androidx
, asendades vanad pakettide nimed android.support
ja muud taolist.
- Ökosüsteemi moderniseerimine: AndroidX mitte ainult ei ühenda ja tugevda ühilduvust, vaid tutvustab ka uusi funktsioone ja mooduleid, mis võimaldavad kasutada kaasaegseid mustreid ja arhitektuure.
- Sõltumatud värskendused: Iga AndroidX-i teeki saab autonoomselt uuendada, mis väldib versioonikonfliktid ja teeb projektis ainult vajalike komponentide hoidmise lihtsaks.
- Nime järjepidevus: Kõigil teekidel on ühtne nomenklatuur ja organisatsiooniline struktuur, mis lihtsustab sõltuvuste haldamist ja nende funktsionaalsuse mõistmist.
- Laiendatud tugi ja hooldus: Tugiraamatukogud lakkasid vastu võtmast värskendused, seega on AndroidX-ile üleminek oluline, et jätkuvalt pääseda ligi uutele funktsioonidele, turvapaikadele ja ametlikule toele.
AndroidX-ile migreerumine on eriti oluline, kuna kõik Androidi ökosüsteemi uuendused ja täiustused rakendatakse ainult nendes uutes teekides. Migreerimise ebaõnnestumine seab teie projekti vananemise ja ühildumatuse ohtu.
Androidi ühilduvuse ajalugu ja areng: tugiraamatukogudest AndroidX-ini
Alguses, Toetage raamatukogusid Neil oli võtmeroll arendajate võimekuses rakendada vanemates seadmetes kaasaegseid funktsioone, tagades suure kasutajaskonna ja võimaldades Androidi rakenduste pidevat arengut. Selle kontrollimatu kasv ja sidusa modulaarse struktuuri puudumine tekitas aga arvukalt probleeme, näiteks versioonikonfliktid, sõltuvuste värskendamise piirangud ja hooldusraskused.
AndroidX lahendab need väljakutsed, rühmitades teegid sõltumatuteks komplektideks ühtse nimeruumi alla ja lihtsustades versioonihaldust, et pakkuda suuremat paindlikkust ja kontrolli. Pärast väljaandmist on AndroidX-ist saanud Androidi arenduse de facto standard ning Android Studio uusimate versioonidega loodud uued projektid on vaikimisi konfigureeritud neid teeke kasutama.
AndroidX-ile ülemineku peamised eelised
- Pikaajaline ühilduvus garanteeritud: Tugiteegid on ametlikult lõpetatud ja ei saa enam uusi värskendusi.
- Juurdepääs uutele tehnoloogiatele ja tööriistadele: AndroidX-i kasutamine on Jetpacki kasutuselevõtuks ja kasutajaliidese arhitektuuri ja komponentide uusimate edusammude ärakasutamiseks hädavajalik.
- Parem jõudlus ja modulaarsus: Teegid on optimeeritumad ja võimaldavad valikulisi värskendusi, minimeerides riske ja parandades rakenduste üldist jõudlust.
- Hoolduse ja arendamise lihtsus: Modulaarne struktuur ja järjepidev nimetamiskonventsioon lihtsustavad sõltuvuste haldamist, silumist ja uute funktsioonide lisamist.
- Laiendatud tugi kaasaegsetele tööriistadele ja keskkondadele: Arenduskeskkond, pidev integratsioon ja testimisvahendid on suunatud AndroidX täielikule toele.
Lisaks hõlbustab AndroidX vigade ja haavatavuste parandamist, vähendab tehnilist võlga ning valmistab projekte ette edaspidiseks täiustamiseks, muutes migratsiooniprotsessi keskpikas ja pikas perspektiivis strateegiliseks investeeringuks.
Olulised nõuded enne AndroidX-ile migreerimise alustamist
- Uuendatud arenduskeskkond: Kõigi automatiseeritud migreerimistööriistade ja täieliku toe saamiseks on ülioluline kasutada Android Studio moodsat versiooni, alates versioonist 3.2.
- Gradle'i konfiguratsioon: Teie fail ehita.kõrv peab olema vähemalt kompileeriSdkVersion y targetSdkVersion versioonis 28 või uuemas. Kui kasutate Gradle'i pluginat, mis on vanem kui versioon 3.2/3.3, esineb ühildumatust.
- Versioonikontroll või varundamine: Tehke oma projektist varukoopia ja eelistatavalt kasutage selleks oma versioonikontrollisüsteemis (Git või sarnane) eraldi haru, mis võimaldab teil probleemide korral muudatusi tagasi võtta.
- Sõltuvuse ülevaade: Vaadake üle ja dokumenteerige kõik välised sõltuvused, eriti need, mis võivad kasutada tugiteegid või pärandpakette, ning kontrollige nende AndroidX-iga ühilduvate versioonide saadavust.
- Haru ja arendustsükli haldamine: Väldi migreerimist ajal, mil sul on käimas kriitilised arendused; Konfliktide minimeerimiseks tehke migratsioon siis, kui projekt on stabiilses seisus.
Samm-sammult juhend olemasoleva projekti migreerimiseks AndroidX-i
- Käivitage Android Studio migreerimistööriist:
- Avage projekt Android Studios.
- Valige ülemisest menüüst Refaktor > Migreeri AndroidX-ile….
- Android Studio kuvab dialoogiboksi hoiatuste ja teabega migreerimise kohta. Nõustu varukoopia tegemisega, kui süsteem seda soovitab.
- Klõpsake nuppu Rändama protsessi alustamiseks.
- Vaadake pakutud muudatused üle ja kinnitage need klõpsates
Do Refactor
.
- Gradle.properties faili värskendamine:
- Migreerimisprotsess lisab automaatselt kaks võtmerida:
- android.useAndroidX=true: Lubab AndroidX-i teekide kasutamise kogu projekti jaoks.
- android.enableJetifier=true: Aktiveerib tööriista „jetifier”, mis kohandab endiselt tugiraamatukogusid kasutavaid väliseid sõltuvusi AndroidX-iga ühilduvaks.
- Veenduge, et need read on pärast migreerimist alles.
- Migreerimisprotsess lisab automaatselt kaks võtmerida:
- Sõltuvuste kontrollimine ja kohandamine failis build.gradle:
- Uurige kõiki oma failides olevaid sõltuvusi ehita.kõrv (projekti ja mooduli tasandil).
- Asendab kõik viited vanadele pakettidele
com.android.support.*
,android.arch.*
oandroid.support.test.*
nende ekvivalentide pooltandroidx
. Saate kontrollida ametlik kaardistamistabel iga raamatukogu täpse vastavuse kontrollimiseks. - Kõrvaldage dubleerivad või vastuolulised sõltuvused.
- Kolmandate osapoolte sõltuvuste ülevaatamine ja migreerimine:
- Jetifier teeb suure osa tööst väliste sõltuvuste kohandamisel ära, kuid hea mõte on kontrollida selle olekut ehituslogist või otse XML-failidest ja Java/Kotlini klassidest.
- Kui väline sõltuvus ei toeta AndroidX-i ja Jetifier ei tõlkinud seda õigesti, otsige ühilduvat alternatiivi või värskendage teeki uuemale versioonile, mis seda toetab.
- Paigutuste ja lähtekoodi käsitsi ülevaatamine:
- Ava oma XML-paigutuse failid ja kontrolli, kas imporditud failid ja viited vidinatele ja kasutajaliidese komponentidele vastavad pakettidele.
androidx
ja mitteandroid.support
. - Veenduge, et kõik teie Java/Kotlini klasside impordid viitavad uutele teedele.
- Kui kasutate ProGuardi või R8-d, värskendage oma reegleid, et need kajastaksid AndroidX-i pakettide nimesid ja teid.
- Ava oma XML-paigutuse failid ja kontrolli, kas imporditud failid ja viited vidinatele ja kasutajaliidese komponentidele vastavad pakettidele.
- Põhjalik koostamine ja testimine:
- Koostage projekt ja teostage funktsionaalsed testid ja unitaarne, et kinnitada, et migreerimine pole vigu põhjustanud.
- Lahendage kõik hoiatused või vead, mis on seotud ühildumatuste, imporditeede või API muudatustega.
Kuidas tegutseda, kui automaatne migreerimine ei lahenda kõiki juhtumeid
- Paigutuste käsitsi muutmine: Teatud XML-failid võivad siiski sisaldada teid
android.support
; reguleerige neid käsitsiandroidx
olenevalt komponendist. - ProGuard/R8 spetsiifilised konfiguratsioonid: Kui kasutate migreeritud klassidega seotud reegleid, värskendage neid, et need kajastaksid uusi pakettide nimesid.
- Kohandatud skriptid ja Gradle'i ülesanded: Kui teil on kohandatud ehitusskripte, mis viitavad vanematele pakettidele, värskendage neid.
- Sisemise dokumentatsiooni uuendus: Kohandage sisemisi projektidokumente muudatuste kajastamiseks ja edaspidise hoolduse hõlbustamiseks.
- Väliste teekide ühildumatuse kontrollimine: Kui migreerimine tekitab ühildumatute sõltuvustega seotud vigu, vaadake üle teegi ametlik dokumentatsioon ja kaaluge migreerimist moodsamatele alternatiividele.
Klasside ja teekide migreerimise näited: android.support-ist androidx-i
- Enne:
android.support.v7.app.AppCompatActivity
Pärast:androidx.appcompat.app.AppCompatActivity
- Enne:
android.support.design.widget.FloatingActionButton
Pärast:com.google.android.material.floatingactionbutton.FloatingActionButton
- Enne:
android.support.v4.content.LocalBroadcastManager
Pärast:androidx.localbroadcastmanager.content.LocalBroadcastManager
- Enne:
android.arch.lifecycle.ViewModel
Pärast:androidx.lifecycle.ViewModel
- Enne:
android.arch.persistence.room.Room
Pärast:androidx.room.Room
Täieliku ekvivalentide loendi leiate alt .
Valideerimine pärast AndroidX-ile migreerimist ja levinud vigade käsitlemine
- Kontrollige kõiki mooduleid ja alamprojekte: Mitme mooduliga projektides tuleb iga moodul migreerida ja selle sõltuvused peavad olema järjepidevad.
- Linti vigade ja hoiatuste käsitlemine: AndroidX tutvustab uusi Linti kontrolle, mis aitavad pärast migreerimist tuvastada levinud vigu.
- Ebastabiilsete või aegunud API-de haldamine: Pärast migreerimist võidakse mõned vanad klassid või meetodid maha kriipsutada või märkida vananenuks; asendage need dokumentatsioonis ja IDE-s endas soovitatud alternatiividega.
- Ulatuslikud testid: Teostab funktsionaalseid, ühik- ja integratsiooniteste, pöörates erilist tähelepanu tundlikele funktsioonidele nagu navigeerimine, püsivus ja tegevustevaheline suhtlus.
Migreerimine Xamarin.Androidi ja Xamarin.Formsi projektides
AndroidX-i kasutuselevõtt on oluline ka platvormideüleses arenduskeskkonnas, kuna Xamariin. Konkreetsed sammud on üksikasjalikult kirjeldatud allpool:
- Xamarini eeltingimused:
- Palun kasutage uuendatud Visual Studiot ja Xamarin.Android 10.0 või uuemat versiooni.
- Paigalda JDK 8 ja veendu, et sul on Android SDK API 28 või uuem.
- AndroidX NuGeti paketid: Lisage AndroidX NuGeti paketid otse oma Xamarin.Android projekti.
- IDE migratsioonitööriist: Visual Studios minge aadressile Tööriistad > Valikud > Xamarin > Androidi seaded ja lubage migraator AndroidX-i.
- Automaatne migratsioon Xamarin.Formsis:
- Suuna oma projekt API versioonile 29 või uuemale ja kasuta Xamarin.Forms 4.5 või uuemat.
- Kompileeri projekt nii, et sõltuvused ühilduvusteegist AndroidX-i portimiseks;
- Kui puuduvad AndroidX-paketid, installige väljundisse vastavad loendid NuGeti kaudu või faili redigeerides.
.csproj
.
- Konfliktide lahendamine ja käsitsi kohandamine: Mõned arhitektuuriteegid võivad põhjustada konflikte; eemalda duplikaatviited ja säilita ainult AndroidX-i versioonid.
Xamarinile üleminek võimaldab juurdepääsu kaasaegsetele Androidi funktsioonidele ja tagab projekti pikaealisuse.
Täpsem migreerimine: ExoPlayeri meediateekide uuendamine AndroidX Media3-le
Kui teie projekt kasutab eksomängija ja raamatukogud andmekandja, AndroidX-ile migreerimine hõlmab kolimist androidx.media3. See protsess nõuab lisatööriistad, näiteks automatiseeritud skriptid Gradle'i pakettide, impordi ja sõltuvuste struktuuri kohandamiseks.
- Varasemad nõuded:
- Veenduge, et projekt oleks lähtekoodi kontrolli all või varukoopias.
- Värskenda oma projekt ExoPlayeri uusimale versioonile ja eemalda aegunud meetodid.
- Suurendage kompileeriSdkVersion versioonile 32 või uuemale ja kasutage Gradle'i uuendatud versioone.
- Asendage lähtekoodifailides üldised impordid täielike impordidega.
- Käivitage migratsiooniskript:
- Laadige alla ja käivitage ametlikus ExoPlayeri dokumentatsioonis pakutav skript.
- Käivita skript, et määrata paketid, klassid ja sõltuvused uuele Media3 struktuurile.
- Kontrollige muudatusi koodivõrdlustööriistadega.
- Rakenda muudatused multimeediateenusele:
- Muuda oma teenust pärimiseks
MediaLibraryService
ja kasutabandroidx.media3.session.MediaLibrarySession
. - Kohandab elutsükli ja tagasihelistusmeetodite rakendusi.
- Asendab aegunud või eemaldatud klassid ja meetodid nende Media3 ekvivalentidega.
- Muuda oma teenust pärimiseks
- Teavituste ja lubade haldamine:
- MediaLibraryService haldab meediateatisi; kohandage teenusepakkujat vastavalt vajadusele.
- Taotle FOREGROUND_SERVICE luba, kui sinu rakendus seda nõuab.
- Testimine ja veaparandused:
- Paranda ebastabiilse API hoiatused märkustega
@OptIn
vajaduse korral. - Asendab kõik aegunud API-kõned, mis on redaktoris läbi kriipsutatud.
- Paranda ebastabiilse API hoiatused märkustega
Lisateavet meediaspetsiifilise migratsiooni kohta leiate ametlikust dokumentatsioonist. Media3 AndroidX.
Korduma kippuvad küsimused ja tõrkeotsing pärast migreerimist
- Mida teha, kui kolmanda osapoole teek pärast migreerimist rikki läheb? Palun proovige seda uuendada AndroidX-iga ühilduvale versioonile. Kui seda pole olemas, otsige alternatiive või kaaluge selle ajutist alleshoidmist. aktiveeri Jetifier.
- Kas protsess on pöörduv? Jah, seni kuni töötate haruga või varukoopiatega, saate muudatusi tagasi võtta.
- Kas peaksin testid migreerima? Jah, testid peaksid samuti kasutama AndroidX-i teid, mitte vanu pakette.
- Kas see mõjutab kõiki projekti mooduleid? Jah, migratsioon peab olema kõigis moodulites täielik, et vältida vastuolusid ja kompileerimisvigu.
- Mis saab siis, kui minu projekt juba kasutab AndroidX-i? Android Studio moodsate versioonidega loodud projektid on nüüd õigesti konfigureeritud, kuid hea mõte on kontrollida vanu viiteid.
Androidi projekti värskendamine ja AndroidX-i migreerimine võib alguses tunduda keeruline, kuid õigete tööriistade ja sammudega muutub protsess süstemaatiliseks ja turvaliseks. Migreerimine tagab tulevase ühilduvuse, annab juurdepääsu uusimatele jõudlus- ja turvalisuse täiustustele ning asetab teie rakendused Androidi ökosüsteemis parimate hulka. Sellesse üleminekusse aja investeerimine on võtmetähtsusega iga arendaja või meeskonna jaoks, kes otsib oma rakendustele kvaliteeti, skaleeritavust ja pikka elutsüklit.