AndroidManifest.xml er miðlægur þáttur í hverju Android-forriti og virkar sem yfirlýsingaskrá þar sem forritarar skilgreina mikilvæga þætti í uppbyggingu og hegðun appsins. Þessi XML-skrá er nauðsynleg til að tilgreina grunneiginleika appsins, svo sem íhluti þess (activities, services, broadcast receivers og content providers) og heimildirnar sem appið þarf til að virka rétt. AndroidManifest.xml er tengiliður milli appsins og Android-stýrikerfisins og tryggir að kerfið skilji hvernig appið á að samþættast og nota tilföng tækisins og önnur forrit.
Með því að skilgreina þætti á borð við skjástefnu, tákn og þema appsins og hvaða vélbúnaðareiginleika appið notar gerir AndroidManifest.xml forriturum kleift að sníða notendaupplifunina og stýra því hvaða tækjum appið er boðið. Skráin er því ekki aðeins tæknileg nauðsyn heldur einnig stefnumótandi þáttur sem gegnir lykilhlutverki í að tryggja að appið uppfylli bæði tæknilegar kröfur og væntingar notenda í síbreytilegum heimi snjalltækja.
AndroidManifest.xml er miðlæg skrá í hverju Android-forriti sem virkar sem vegvísir fyrir uppbyggingu og virkni appsins. Hún skilgreinir nauðsynlegar upplýsingar á borð við íhluti appsins (activities, services, broadcast receivers og content providers) og heimildirnar sem appið þarf til að virka rétt. Ásamt build-stillingunum ræður manifest-skráin einnig samhæfni appsins við ólíkar útgáfur Android og ólíkar tækjastillingar, sem hjálpar til við að tryggja að appið geti keyrt hnökralaust á ólíkum tækjum. Með því að setja lýsigögn og stillingaratriði í AndroidManifest.xml geta forritarar stýrt hegðun appsins og samskiptum þess við kerfið, sem gerir skrána að ómissandi hluta af þróunarferlinu fyrir Android.
Meira um AndroidManifest.xml
AndroidManifest.xml er ómissandi stillingaskrá í hverju Android-forriti og virkar sem miðlæg yfirlýsing um grunneiginleika og íhluti appsins. Skráin skiptir sköpum til að Android-kerfið geti skilið hvernig forritið á að hegða sér, hvaða íhluti það inniheldur og hvaða heimildir það þarf til að virka rétt.
Tæknilega er AndroidManifest.xml XML-skrá sem er staðsett í src/main-möppu appeiningarinnar. Hún skilgreinir mikilvæga þætti á borð við íhlutina sem mynda appið, svo sem activities, services, broadcast receivers og content providers. Í nútímaverkefnum eru pakkaauðkennið (applicationId) og útgáfan stillt í Gradle-build-skránni, og build-tólin sameina þau og manifest-skrár allra bókasafna í endanlegu manifest-skrána. Manifest-skráin tilgreinir einnig heimildirnar sem appið þarf, til dæmis aðgang að netinu eða myndavél tækisins; fyrir viðkvæmar heimildir þarf appið einnig að spyrja notandann við keyrslu, sem tryggir að notandinn sé upplýstur um hvaða tilföng appið mun nota.
AndroidManifest.xml getur innihaldið nokkra ólíka hluta, sem hver styður ólíka virkni:
Application-hlutinn: Hér eru heildareiginleikar forritsins skilgreindir, svo sem þema, tákn og heiti. Hér eru einnig íhlutirnir sem mynda appið tilgreindir, ásamt því hvernig ræsa má þá. Þessi hluti skiptir sköpum til að tryggja að appið birtist rétt og virki eins og til er ætlast.
Heimildahlutinn: Þessi hluti manifest-skrárinnar tilgreinir heimildirnar sem appið þarf til að nálgast varða hluta kerfisins eða gögn notenda. Þar á meðal geta verið heimildir til að nota nettengingar, lesa tengiliði eða nálgast geymslu tækisins. Rétt meðhöndlun heimilda skiptir sköpum bæði fyrir öryggi og notendaupplifun.
Intent filters: Intent filters eru notaðir til að skilgreina hvernig íhlutir appsins geta átt samskipti við önnur öpp og kerfið. Þeir gera appinu kleift að bregðast við tilteknum aðgerðum eða gögnum, svo sem að opna vefsíðu eða deila skrá. Þetta gerir mögulegt að samþætta appið hnökralaust annarri þjónustu og aðgerðum á tækinu.
Einn mesti styrkur AndroidManifest.xml er geta skrárinnar til að safna saman og skipuleggja upplýsingarnar sem þarf til að keyra Android-forrit. Með því að safna þessum upplýsingum á einn stað geta forritarar auðveldlega haldið utan um og uppfært stillingar appsins, sem dregur úr hættu á villum og ósamræmi.
AndroidManifest.xml gegnir einnig mikilvægu hlutverki í öryggi appsins. Með því að krefjast skýrra heimilda og skilgreina skýr mörk fyrir það sem íhlutir appsins afhjúpa fyrir öðrum öppum, til dæmis með eigindinni android:exported, hjálpar manifest-skráin til við að vernda gögn notandans og heilleika tækisins. Þetta er sérstaklega mikilvægt á tímum þar sem öryggi og persónuvernd eru í brennidepli.
Í reynd er AndroidManifest.xml ómissandi hluti af hverju þróunarferli fyrir Android. Skráin tryggir að appið sé rétt stillt og tilbúið til að eiga örugg og skilvirk samskipti bæði við notandann og kerfið. Hvort sem appið er einfalt eða flókin lausn með mörgum íhlutum er vel uppbyggð AndroidManifest.xml lykillinn að árangri.
Í stuttu máli er AndroidManifest.xml mikilvægur þáttur í Android-þróun sem sameinar uppbyggingu, öryggi og virkni í einni skrá. Geta hennar til að skilgreina og stýra hegðun appsins gerir hana að ómissandi verkfæri fyrir forritara sem vilja búa til traust og örugg forrit fyrir Android.
Algengar spurningar um AndroidManifest.xml
Hver er tilgangur AndroidManifest.xml-skrárinnar í Android-appi?
AndroidManifest.xml-skráin er ómissandi þáttur í hverju Android-forriti, þar sem hún virkar sem miðlæg stillingaskrá sem skilgreinir grunneiginleika og íhluti appsins. Hún tilgreinir meðal annars nafn appsins, tákn og heimildirnar sem appið þarf til að virka rétt, á meðan útgáfan er venjulega stillt í Gradle-buildinu og bætt við endanlegu manifest-skrána. Þegar appið er sett upp les Android-kerfið þessa skrá til að skilja hvernig appið á að samþættast kerfinu og hvaða tilföng það þarf.
Auk þess inniheldur AndroidManifest.xml-skráin yfirlýsingar um íhluti appsins, svo sem activities, services, broadcast receivers og content providers. Þessar yfirlýsingar eru nauðsynlegar til að Android-kerfið geti skráð og meðhöndlað ólíka hluta appsins rétt. Activity sem lýst er yfir í manifest-skránni getur til dæmis appið sjálft ræst, og ef hún er merkt sem exported einnig önnur öpp og kerfið, sem gerir appinu kleift að eiga samskipti við önnur öpp og kerfisaðgerðir.
Í samanburði við aðrar stillingaskrár í Android-appi er AndroidManifest.xml einstök, því að hún skilgreinir ekki aðeins uppbyggingu og heimildir appsins heldur stýrir hún einnig hvernig appið hegðar sér í ólíku samhengi og umhverfi. Þetta gerir manifest-skrána að mikilvægum hluta af þróun og dreifingu appsins, þar sem hún hjálpar til við að tryggja að appið virki rétt og örugglega á ólíkum Android-tækjum og -útgáfum.
Hvernig eru heimildir skilgreindar í AndroidManifest.xml?
Heimildum er lýst yfir í AndroidManifest.xml með uses-permission-einingunni, sem sett er beint inn í manifest-eininguna og utan application-einingarinnar. Hver eining nefnir heimild, til dæmis android.permission.INTERNET fyrir netaðgang eða android.permission.CAMERA fyrir myndavélina. Án slíkrar yfirlýsingar getur appið ekki notað varða virkni, óháð því hvað kóðinn reynir að gera. Þetta er sambærilegt við iOS, þar sem ástæðum appsins fyrir notkun varinna tilfanga er lýst í Info.plist-skránni.
Android skiptir heimildum í verndarstig. Venjulegar heimildir, svo sem netaðgangur, eru veittar sjálfkrafa þegar appið er sett upp. Hættulegar heimildir, svo sem myndavél, staðsetning, tengiliðir og hljóðnemi, þarf frá og með Android 6.0 einnig að biðja notandann um við keyrslu, og appið þarf að ráða við að notandinn segi nei. Frá Android 13 þarf einnig að biðja um heimild til að sýna tilkynningar á þennan hátt. Takmarka má sumar heimildir við tilteknar útgáfur Android með eigindinni android:maxSdkVersion.
Góð venja er að biðja aðeins um þær heimildir sem appið raunverulega þarf, þar sem óþarfar heimildir draga úr trausti notenda og geta leitt til spurninga við yfirferð Google Play. Bókasöfn geta einnig bætt við heimildum með sameiningu manifest-skráa, svo að fara ætti yfir sameinuðu manifest-skrána fyrir útgáfu, til dæmis með Merged Manifest-sýninni í Android Studio. Þar sem það er hægt ætti að taka fram yfir valkosti sem krefjast engrar heimildar, svo sem myndavalglugga kerfisins.
Hvernig er ræsi-activity appsins tilgreind í AndroidManifest.xml?
Ræsi-activity appsins er tilgreind í AndroidManifest.xml með því að gefa activity intent filter með aðgerðinni android.intent.action.MAIN og flokknum android.intent.category.LAUNCHER. Þetta segir kerfinu að ræsa eigi þessa activity þegar notandinn ýtir á tákn appsins.
Frá og með Android 12 þurfa activities með intent filter einnig að hafa eigindina android:exported tilgreinda, og fyrir ræsi-activity þarf hún að vera stillt á true. Ef nokkrar activities hafa þessa samsetningu geta nokkur tákn birst í ræsiforritinu, svo að venjulega hefur aðeins ein activity hana. Upphafsskjáir með til dæmis merki eru nú á dögum oft meðhöndlaðir með SplashScreen-API-inu.
Hvaða hlutverki gegnir AndroidManifest.xml í lífsferli appsins?
AndroidManifest.xml stýrir ekki sjálfum lífsferlinum, en skráin segir kerfinu hvaða íhlutum appið samanstendur af og hvernig má ræsa þá. Lýsa þarf yfir activities, services, broadcast receivers og content providers í skránni; annars getur kerfið ekki búið þá til.
Manifest-skráin getur einnig haft áhrif á hvernig lífsferillinn þróast. Með eigindinni configChanges má til dæmis tilgreina að activity meðhöndli sjálf snúning skjásins í stað þess að vera endurgerð, og launchMode ræður því hvort ný tilvik eru búin til. Auk þess má tilgreina sérsniðinn Application-klasa, sem er búinn til á undan öllum öðrum íhlutum þegar ferli appsins hefst.
Hvernig eru lágmarks- og mark-SDK-útgáfur tilgreindar fyrir Android-app?
Lágmarks- og mark-SDK-útgáfurnar tilgreina hvaða útgáfur Android appið styður og fyrir hvaða útgáfu það hefur verið byggt og prófað. Áður voru þær tilgreindar í AndroidManifest.xml með uses-sdk-einingunni, en í nútímaverkefnum eru þær stilltar í build.gradle-skrá einingarinnar með minSdk og targetSdk. Gradle setur síðan gildin inn í endanlegu manifest-skrána.
minSdk er lægsta útgáfa Android sem setja má appið upp á. targetSdk segir kerfinu hvaða útgáfu appið hefur verið lagað að, bæði hvað varðar hegðun og reglur. Google Play krefst þess að targetSdk sé reglulega uppfært í nýlega útgáfu til að birta megi og uppfæra öpp.
Hvernig eru sérsniðnar heimildir meðhöndlaðar í AndroidManifest.xml?
App getur skilgreint eigin heimildir í AndroidManifest.xml með permission-einingunni. Þar er tilgreint einkvæmt nafn, yfirleitt byggt á pakkanafni appsins, ásamt lýsingu og verndarstigi. Verndarstigið signature þýðir að aðeins öpp sem undirrituð eru með sama lykli geta fengið heimildina, á meðan normal og dangerous veita öðrum öppum aðgang á ólíkum forsendum.
Heimildin er notuð til að vernda íhluti appsins, til dæmis með því að stilla eigindina android:permission á activity, service eða content provider. Önnur öpp sem vilja nota íhlutinn þurfa að biðja um heimildina með uses-permission. Signature-stigið er oft notað þegar nokkur öpp frá sama forritara þurfa að deila gögnum á öruggan hátt.
AndroidManifest.xml fyrir byrjendur
AndroidManifest.xml er eins og efnisyfirlit fyrir Android-app. Hugsaðu um það sem lista sem segir símanum hvað appið getur gert og hvernig það á að hegða sér. Þegar app er sett upp lítur síminn fyrst í þessa skrá til að komast að því hvaða eiginleika appið þarf, svo sem aðgang að netinu eða myndavél símans. Hér segir appið einnig hvernig það á að ræsast og hvaða hlutar appsins eru til. AndroidManifest.xml er því mikilvæg skrá sem hjálpar símanum að skilja appið og meðhöndla það rétt.