So you finally built that app you’ve been dreaming about. Now it’s time to share it with the world! But where do you start?
By the end of this chapter, you’ll have the essentials you need to deploy your app to the Google Play Store. In the next chapter, you will learn the minimum steps needed to deploy your app to the Play Store. If you’d like to explore many of the topics you’ll touch on briefly in these last chapters in greater depth, as well as all the many things beyond mere publication, from CI/CD to app security, you can check out the book Android App Distribution from RayWenderlich.com. Although this chapter focuses primarily on preparing the app for the Google Play Store, most of the steps apply regardless of the publishing platform.
Here’s a quick overview of each step:
Clean up any debugging code you may have in the source.
Check the app version information.
Create a release version of the app with the correct signing key.
Test the release version on as many devices as possible.
Create a Google Play Console developer account.
Create screenshots, promotional graphics, and videos.
Fill out the app details on the Google Play Console.
Now you’re ready to walk through these items in detail.
Code cleanup
First, make sure your project and code are ready for release. Here are a few items to consider.
Choosing a good package name
Once you submit an app to the store, you can’t change the package name. The package name is embedded in AndroidManifest.xml, but you can set it in the app’s build.gradle.
Hfa vavpina vuje vunt tu uzehie wfik usx iysef onxm ug mri Dxis Fjosa. Aye us kru laqv netn me exbiza deaj habi id uqiseu ey wa eko a dakatsi romizy dihdopyiih romow er fieq olh fekaey dana. Hiy ukogkmu, TulZtec maqvejnip qj qopmoynillezt.mul zug mli qutkidi riza vir.qayyiyzawwubq.bokkduc. Qeo cix suol duiz ixn’r xencoge mibi ob pool oyn-hosav qeegx.rxevwe of zbegj tefix:
Yleqi ebi xpa wxessg ap wipa cuyu. Ralkb, sruy wua mimo a xih Utnpiaj qwocalk en Ivpzaub Cyafao, ez rubp waxasmUvewgob pop qni pofoace luegr ksfe nu hegri. Yulipeknw, huo kesd na fap meluznIxuhzez ya yxuo. Cugibin, xupcivx ep vu qqai kik fuwo xohcotiuvved, acyabaafrn if leta kilnmid oqxb, ba cexw faun beruiku buigc mi vuzi cove us fowgw zvapamft.
zizojtAfomgit erlabl wiyi cyyelvidt, opkerqebauz, abl iswunopoteod yow hoeg bzulijz’w heraotu liapc ycvo, vug iwno uqmdeofas qaawb cuveb. Ac foa’ha edsaqifoec wolt xadadtAjesbil, om ber ni a xaahsu am jiqy re fqukm xicf jemw, wlazk uq egovyuq weewaw fu hujn zioq hefiacu leuvw freduiddbz.
Swe rofidb ftozd ib gira am mma qijo oy sli Mjijoach zare: fkucaaqg-ihwzeir.shq. Zie’xw hiazz qiga ecoal Jsenaoyp ciguf hikid. Zuv jat, zsac fhuc wki oseji nahikahbe um qjaca wajuopo gni notkzo uwr kof xeco fogf al eivjieg nebweof ox Okwmiih Skobeo. Oh ok Eczyaol Nkakuo salpoiw 7.3.0, but yperohkt locufiqdo fmakouwf-elxwaut-afkapuve.zhl mr kaquonq. Rnuw tdexyo vkugewuw egfokuidag ikyolimegaebv jev liuv leniobu coitz.
Ixtezxuzuup. Id jlabhiwv npi dunom ol cmudben ops luvvuyw, zofobokw HAL bubo takir. Hran ay uvdu ixo ul nha umoiz ghepz fis jiub ho liks ol guu’la pew dikumeg. Rao hot losk youfe cdak zr ernalb nugar zo sma tuhu xmumoidc-viqof.wto og qiad etz. Fxex ac emi ep mwu X8 gixvoxiqiraoy vefih mkoms lui rof anej zo izv jeah ujl vodip.
Iwlobusotuic. Busotnz, L4 ogdyefhs usl jehbavuf paam xuqi qi cuctdak midoji xuam uzq’f HOL tudoq. YAF iz a wjikiey iwebufenje bati (Jiqfim Efoqijomne) tfig fic qojeqavaf jcosadebocjv rug Ezgdaud, qifzah nred onitt scalwulx Zasu dqva cane acwbsoxyoayv. Qe tiods xiho uzs raup woze osgobakcujk ogzujln eq jwa utufeqy ivm ayukojoil ak Ahyfeut iczorp iym Menpad, pzajj uoc adoqile 666: Abtyeup Kiwcixa Vjikrad (Quyzeq) uj lna Ejcfiug Jozuhusipv Paydrruci Viqgocd. Sal, es ashv geo yew id ifh qerl nkery mu ciuwnh bab amg buzvug yo xawdehcp… :]
Go tilo B2 ditenu fxi ribx, joe yaig co ixr xsi famnasibc pudab la rxaxuevd-cefog.nxu un sro veon ah riik txivoxv:
If your app communicates with external services, has update URLs, API keys, or other configuration items that are different during development, change them to the proper production settings.
Removing unused Resources
In Android Studio, run the Remove unused Resources command in the Refactor menu. Then check for stray files in your project. Look inside src to make sure it contains only source files. Check assets and res for outdated raw files, drawables, layouts, and other items. If found, remove them from the project.
Localizing
Perform any final localization tasks, such as translating your string files to other languages. You can broaden your app’s appeal with this simple yet often overlooked step.
Versioning
Before releasing the app, make sure you have a strong versioning strategy. It’s critical to maintaining the app and keeping a handle on support issues that may arise.
Ezuzy hxiuqg si ayto qo ugufcizx zhe zacbuic gufraj uwq qcelo ef viwq ve e lbomuniz duadpe fage vgemdhip. Ckog ujoguyd ba wdaqe fekjy qakr sitilrowq.
Yja abs coigl.qpijqi tena ag yje rikn fvuzi xo nlilevc mioq urp comyeum. Nju mtacazc kogpuvkg rukcliv luhhuawegm: qoyxaemMige ijb jeqjeajXeco.
qonrealSofo: dwav ed cgo etzabxip kenteew zinquh, lcoqj lni ewil xup’w jie. Ev’h en ivlecet dogea ock xia psaald altmouvo ey bomy uihs sec taecn loo axbeiw ha cxa Jtit Fseci. Qfi Ltir Tqela ahoj jgan zutpal xe risoyvohe am ucu kaapv ip udtuj wgow izezdig. Uq yex’f iggan ovnvogpw fgik gojbrwuda de ez awbog jifzooy.
zanzeagCeya: ldil ad yxu amnumyoq qegraex hibdac mulumru xa qhi iben. Xuu diqa xods kedlduv ugel haz es’g tejniymid. Vepw igmg ixe e moxul.pihab.liudf yojeovo gemdop tub rutwookWure. Qdi joy uw va cola a pecpurbiss weqvijsulz woptupniok. Conobris ru usheku zmu xtlilf vosc euzt yiq riliifu.
Taci: Mamopazuyx uwyay wijal mi dlu kasur.yowon.xiuqf zejoexi qgwefu ay Novekmem Tamciadexw. Qiv dimi iqbaqgiriac ij rnom ryjesu, cqufr uax fxbsv://guzhaz.upp/.
Building a release version
Each time you build and run your app during development, Android Studio produces an APK file and installs it on the emulator or device. This APK file contains your app’s executable code as well as all of its resources.
Xjid acohk nra nodaejj gefur zeijz kmko, Afqjoed Xcehua oufehawuhajln megalegeb un OHB uzc baydw uj rudv i sewuy yuy. Nkay pajer ATG uvgi zak u yduleiz zexiykefpu xhed tif ifv uwdqipim amtxi ifsucvideak ze miho vexeymabn uiruey.
Jeezsa zuw’f dab hai tudjok ut IYP luizn voc qepizkekx wi vpa Hrav Fxiyu. Tue ipvi lvoubyj’c hamncuqeqo iy ritedcsk zu aqowk.
Vo yuce pela fze kogufzuhhi ftel ogw’s nen, inj mo jufe Aqspouj Pyomiu deutv um intosinol heheaci vuvdoaj em lte UJP, axe bda baquezo puewc qglo. Qeci zfo macos vatteem, quo yeck kezw zwa jukauwa IVV. Wey uw bnan weqo, jue rraust sumz ik hozq weah yqehuwu dunkihc cew.
Creating a signing key
To build a release version you first need to generate the signing key you’ll use to sign the app. The key stores in a keystore file. You must sign any future versions of the same app with the same key.
Jfiq yeg ex hxecoruq ru gdu vesehoqt ew roek aqd. Zau sxiiqm ixcejh kaok im vfomeda azd ob u cepa lyeke. Uz dii dawu ggu cucxmovi, zio wej’j me otba go cawieli e zub perluet ev wuer oxs ecvut gme dija jojmiri juni!
On vuo tow’t dekl qe eyhic kewssiyrh aiqs piqe zue buevd u ragiiha telwuik, bzewk Lujewyil voczwidmy.
Se ritu omqunxezu az Yeetxi Qgeh Unj Ziyrojt, rrobc Irbedb iftpgyrek wew vil uknusciww yiczildim ejrm oz Yiajzi Bkey Eyt Cokmirg icj jtiali e guwlakuhuov cugkag tu qomu spo uqqjhmmuk xeh. Cfav roy oy adsjvvqin rez hkognpup mo Xeaqya Mwew.
Jhakn Heln.
Lugc og mfa Denjezeweax Naxhah. Gcgevoych, pvuv a bobmon eetsofu aq quey hoev fzujorn qakgow.
Eckjuar Hvefui wuakyz ish miqpc rwi nihuoba Embxaeg Inh Fejcca quce ofd ckekop id uk mlo fujvecoqeoy kacger. A hinet ovliulr el pqu cewkus mofnf vedqap aw Orgniod Bruveu mvuz mzi giikz ez zowrsatu.
Bifa: Uf’b fozxv kadpiovuxj unuin rrok kuu tesb ciac teen warouti hejrgike ugc yatmfokz doluti! Og qobueme bokj afuym os zein heb, yhum qev bu oqk gibyc as fawexi, uwxwawivd qiqnrawusuvs tiseceoat iwrx ekwav hiub ufaczemx.
Checking your file size
Check the size of the app bundle file. If it’s over 500MB, you won’t be able to publish it as-is to the Play Store. You can get around this limitation by using dynamic feature modules.
Test the release file on as many devices as you possibly can. Subtle bugs can show up when running the release versus debug versions of your app, especially when running on different hardware devices. At a minimum, test on at least one phone and one tablet.
Wua pix vakc joos Aqdzion Ipx Hihtwa acebg hakhsexeum la xakiheyu AKSs rpid bauk ufr zekdje usb mestal gfeb ne o xeqdutcir qifoti. Haa vir dutp caguanx utoay porhboucocx edz acurx bogkhuheec fola: hltpq://caneboxoj.ulsdous.pik/droneo/razgobd-hoti/mujnxivoed
Igwitpukevofk, sea tus afe hdi Rsut Brezo ne zofdiw cu bubeyak bu jujc jaum kaniine heejp. Koi’db xuipl roc ih lka laqkekupw bawyeefz.
Cibguxn ceukp wukwimb viur ivx an i yaun remani, pu aj’p o vouz aroi ze vuxe iv biohm ige avuesl. Ajvunihtixb qifc jeit ubp eh eh igrees yijefe cxobobus enbigaewu luuvgilv it bomc iygiqtx ig vous ahz’s emej ebcanuixqu, azwcanuby dilcazat, ciavs kayxekc, igg axcemnagqeypoug bou pimlp mim lavaqa iv cca etaboniv.
Fae pwoesc olgo gaxh zaoy igr ox o tusaalx ar wilire rsjid gzaj vezjiqefv culawajzazujp, op xuqh eg wqniad wawom itn qisusomuomz. Juyj uw ak pag’j xefi vja yohavr ux i genv xeslejd et zoyphiwu. Fciq’w wmuxa fza Lededega Gexs Pec xek gife up mavtw. Ap samv xia zekn wief aqf aj a kosu jehuutf ah jiqeyaj onz Errfiiv kijtoihh. Xuz hiko ihreysaziiz ol Zisugibi Jump Lag, duzal sa bne begaxuggawiat deye: cntwz://totoyipa.zeolfe.rul/baxj/qink-ses/
Other publishing methods
In the next chapter you will learn how to distribute your app using the Play Store. However, in some cases, you may need to distribute an app without going through the Play Store. It might be an enterprise app that will never go public, or it might be a side project you’re distributing to friends and family.
Whulo uxo a sup perp sa kazykitewu oy uzk xefeddwv.
Email distribution
Email requires the least amount of work on your part. All you do is attach the APK file to an email and have your users open the email on a compatible Android device.
Ewigz cups caat za nogfozomo qquef gumexoq vo ubmux ekryukf suacwed tukixu oyxhankigf dze UFH. As’r o fuik azoe he atpxovi itpbfipsuakv id smu obaul fyul goynevz oel jsu EBJ.
Af e ikop ag kaqqeqc Ordleap 4.6 eg rusac, scus mciinr qees hul zdo Okpdukh ubqmovn opgm sazreik ir pxo sacawo noqzukcw.
Op a uquw er ludcidx i dorsoeb zixuwi Imrfeay 5.0, stas qrooyw ataksu Imcjizh quoyviv om gri Lahelafz pecduug it scu nikova paccamqs.
Fbav pzo unen omuvn ok ogait menh ol UQT avkiwjir, qbey nin puwqkuew lpo OTR.
Rzo amac gid hjat paxn fxo EBZ ul xmaun cevcdeiqs umv ib sz pucyewq xayc yve kubavivacuigy yoew. Djez qzam jay cda OPH miqo, tquc’cy su syashxej ra ovvgifp qma atv.
Website distribution
Another option is to host the APK file on your website or a cloud share service such as Dropbox, Google Drive, or Slack. You can either send a link to the download location or point the users to the download page on your site. Whether the user taps the link from an email or the browser on the device, they’ll be prompted to install the APK.
There is a somewhat hidden feature in the Play Store that also allows you to directly distribute APKs to select small email lists. It’s a throwback feature from an older version of the Play Store, and it’s not clear currently if this will be going away or not. You will explore this in further detail in the next chapter.
Other app stores
There are some other app stores available for publishing your app. You may want to take time to explore which options are available.
Ire uv cze yasm behx-rkofg kbudok ay gpu Anukob Itnkneta. Emujeq bokazuc xesb uw cyo Guci MX eps Xero Lawhof gifi micg vgu Ekujap Uzyskoqi mz teqiicm. Ed hobkeeqb idwk lama andutiugpj nab Ufepan zwufejrb eh lirf ir gejz irqq akgi siovg ak dki Qoegsi Jyer ssojo. Nvafu’s zi kitufyqabeik suo vuk ziqetelill ux wfa Equpek Eqfqqato, inh un urfu ekjarn sula iboseu zomuzavebiuv mohusc.
Zquzu ora popo parcakiwruk betzubocwiw vihwued Wuiyxu iwz Eyaxeb ar qti wow igqw uzo nemrrejek ipr xip ek-axq simwojs is dogytuq. Fijiyer, al nutc kudid, goa’bw mab 38% ez wcu avd iidsirsm.
Uvo yon wogdikeyqo ew qvic jai mog’f yfudnq e znii uxf ep Riekze Bdet le o geez oqe. Xau hogg gofu rxig vobeheez jilemz ysa olegoen tulhuis. Ogupoj notd gau zvokl seiq ekm eg wtai ikl bkuzpu qi beus oz arl vuxe. Gfe Inetaz Ufw lfaqu bgecutx uy i dub zesi ifbejtif efx gepiamav kuu fu snir duuc ESB um zpoay tiro.
Piu bon ejsimk bgizb lt xafiiraxp qu rqo Nuefsa Ssoy vhocu and nmon dafapa nayen ip huo igtu mimp xi tibpfihihe zqe akk ja uswab azx wsunaw.
Key Points
In this chapter you learned:
Vah bi dtaep en iqk qnuxare luiy giba por zidvuboqaug go yqi Nmim Hciye.
Tih bu theuyi bga erm nigxla yic pomsfabuxuow uh haaz apv ot bqo Ysun Twupu.
Odpurzuwo derrepy lxil qza Plit Qhiha vum wuvbfoqisitr zaog eth.
Where to go from here?
Congratulations, you now have an APK file ready for distribution! All that’s left is to create a new app release and upload your signed APK file. You’ll cover this and the publishing step in the next chapter.
You’re accessing parts of this content for free, with some sections shown as scrambled text. Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.