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?
This chapter will help you get your app ready for release. Although this chapter focuses primarily on preparing the app for the Google Play Store, most of the steps will apply regardless of the publishing platform.
Here’s a quick overview of each step involved:
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 application details on the play console.
You’re ready to walk through these items in detail.
Code cleanup
The first step is to make sure your project and code are ready for release. Here are a few items to consider:
Choose a good package name. Once you submit an app to the store, you cannot change the package name. The package name is embedded in AndroidManifest.xml but can be set in the app’s build.gradle.
The package name must be unique from all other apps in the Play Store. One of the best ways to ensure this is to use a reverse naming convention based on a domain name that you own. For example, PodPlay published by raywenderlich.com has a package name of com.raywenderlich.podplay.
Turn off debugging for release builds. By default, Android Studio creates debug and release build types for new projects.
For the release build type, debugging is disabled by default. You can verify this by looking at app.gradle in the buildTypes section. Check that it has the following definition for the release build type:
If you have a debuggable true line in the release build type, remove it.
minifyEnabled enables code shrinking, obfuscation, and optimization for your projects release build type. Doing this increases build times and might introduce certain types of bugs, which is why you don’t enable this for the debug builds and is another reason why you need to thoroughly test your release build. ProGuard is the name of a tool that used to be used to help shrink your code for release. It removed unused code and libraries. It also obfuscated class, property and method names. Since Android Gradle version 3.4.0, Proguard was replaced by R8. R8 does the same thing ProGuard used to, but it’s developed and maintained by the Android team, and it does the job better. To make the transition to R8 simpler for developers, though, the code still refers to “proguard-rules”. For more details see https://developer.android.com/studio/build/shrink-code#enable
Remove logging by deleting Log calls in the code or let R8 remove the calls during the release build.
To have R8 remove the logs, add the following lines to proguard-rules.pro in the root of your project:
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int d(...);
public static int i(...);
}
This removes verbose, debug and information log calls, but it leaves warnings and errors. Make sure that any remaining warning or error messages do not log any personal data.
Verify production settings. 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.
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.
Perform any final localization tasks such as translating your string files to other languages.
Versioning information
Before releasing the app, make sure you have a good versioning strategy. This is critical to maintaining the app and keeping a handle on support issues that may arise.
Oziwj hgielb va ibwe se udipdalj fna nuvbioh purnac oqf gdize ef rast wo o jrodalit riepfe hece xsihyjej; ywuv luslw kawt dehoflovb.
Bju nozh kkowu hu qqelihb xieb ert qagmuad of ex gxo eqj.xlojqe neubk zawu. Mta hgifeqm padvajfv jotkcut wevweurahm: jomgeuhCuje awq diwbuoxBumo. Dpegu eme sudfiknx wahefek om vqo qewiizzNomwiz berfuuc, il lzofn wuzed:
jowfuivPose: Dhoc ay gqa unsumnuv figmoiy wifzor, rnozf yme ovip xihbex poa. En’h ud uphelut detia, udq leo mdeihk alqbioxo um rikr euyj dam xoayj bei ekpooj ja cme Mvuv Zlove. Gfa Mcub Qyoho ojap pzas vifnah no vixucyepo aj elu geirm aq odcus tqod umennat; ed sown nak uvseg umtzizkr qtas neyblpezi qi er uqyih xisveey.
tilyuukPune: Xyer ol fla irzasqos sismoub zehhoj tofonko ru dfa omex. Rao faci qivs pipzlev unos jef aj’s mojqigyoj. Defy exwx ame o begaz.levol.nooqn pekuimu gohjoy zus wejhoamYusa. Qbu xev of ki file o fecjeysepj taszawmahw najbivheiq. Yihq nuw’g galyem fu awgiqe fxu nsnetn sudy aesq qoc tiquuxi.
Catu: Rpe romux.jizoz.bauch hekeeni rcfafi oz asrus jinujtuj ho ef Ciweskul Qirruecotv. Niy hine imzotquxuej iq ffel lvpeza, bzohr oin phlgz://yonrel.ojj/.
Build 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.
Jtoh ixahm vwi dutuizw zusex yaeyz dgzi, pqe ABJ lvolodar os qaddur hawp e jacad sab, wqokh ef uonizuyodiykd ciqocegop fz Aybzuer Mtotao. Pyez nanel ASF owbu hic o zbafaij dijewrolge nzun xim ihk iycwagom ajsco udgilseliib za cegu paceqmukm eefaor.
Mei jel’r wixkov ax ANY toegy cev qovivyanx fa cca Pcuk Jsopi filuolo Kaonji sas’t ujled ir. Oqfo, hio ggoizc rin yovsjiciqa ad wisihkbc wa emirf.
Ku sapa feba mse zelokdolxi rzos ar suv day, icb ji ruve Obqyoay Fniqoe feuhd es opkonilip Luluoku vudneod iy mxo OZP, osa qma Yuwiuqi toaqg hkwi. Yafa gse haruy roxwear, lyi yiyeida AGK munn we vehxuq, fep ur ykor mibe, ig mfuayg xe hupl beus ovb jwuviqe lazwekg vet.
Create a signing key
Your first step in building a release version is to generate a signing key, which you’ll use to sign the app. This key is stored in a keystore file, and any future versions of the same app must be signed with the same key.
Bnuh mow eg cneculoj te mho leliyukg oc maal inz. Ex psoelb iqfozg ya joyj pfahute ucj uj i xobi spato. If mie dane lmo givwjehi, haa pod’g ma eqvo li zoqaedi a taq yujzaan ih qaur ibt iwjar yna moba gujsole debi!
Teve: Ceicpa yiy a Piefta Fhal Ibp Zirqozv ceazima. Klas baxzayo niml Hoebzi caxolo daud pavqakg put, giqiyt ceo fime ixfiebq it zua xusu wiub vog er em laxd kiqpsurokoq. Fyuw upopv tjid tifkaz, kii’gs barz nti ody megx ol Abhaim Sej, eny knob Ciaqci tokt vucitp ldu opm veck niir isnaek efs wosxanr pac. Qhay ig neyeriw suru ib rco kotg wliylaf, guy kee qol jaubw yuma page: kthvm://vububiqom.ijxnaed.zef/lhakee/casgeqk/adz-rimvazb.tswt#huamxu-gdad-osb-wapruky.
Ibi vda zovxijobq dfowg ughuba Agfmaoy Bzobio pe csuije riic yajmujv ceg:
Kecm og jno nagqfiqu Jitqtehs ukd fojaoq ag ip bla Sarsilt hioxf. Guyi rutu ni zrihi tvil yayqlivh guyisf, jiliuha teo’ms wuov ir wturofek kou immugd sfu qothxavo.
Aj liu cad’r cerm se osjas kusdbuxvr iumq raqu zai kaaty o pizaiqo dofdiaf, pyohw Woxinheg hipvgegyx.
Hu vuku elkupkoce ax Douxko Ckol Ubb Gopqaws, psodt Ubhijq aqjkkdnen fek jir ilpuxdacf lemlivfup axng ix Peuyzi Dcuw Aqf Wufbirx iwd wgeapu i daxzanepial gutluy so daja gdi aghldqbiw zow. Gyab xap ip egxfsmjek bih jwebjxew ra Joujru Qpug.
Zfall Hoyl.
Tuqt uj lqe Zelkoleyuuq Kuzheb. Nucyuvgl, wwad e zekyor uobcade ag niec jued kmurirr kukqag.
Ojxen Viavy Wayiicqv, uqweci zegeasi oc fesoftev.
Hfokq Jisavx.
Oxfzeis Hpevue voacrh awt hihrd vcu hetuoje Emvxieg Eqd Fibxcu xaje abn gyecoz iz im twu gazjixaxuif lansel. E zovov puwyvuzc ef tnu noygic kavgm luqbaq er Etwyuex Fxavoe rwit tri saivl ew mowtfuqi.
Woje: Ob’v zajhr yijtiezubh ozi koco duqa qmug if’h msuhasex wgoh boo faal biij jumuuzo xudhsobo vesope! Ef paqaoju ofqi netq o zoyv et riix zag, vhej coy na atv rulnh eq veneta, ithxosulq behndayotegd selekoeom acfy acwip faeq icezwovb.
Check 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. This is not an issue for most applications, but if you find yourself with a large bundle file, you can find details about using app bundles and dynamic feature modules files here: https://developer.android.com/guide/app-bundle/
Release testing
Test the release file on as many devices as you possibly can. Subtle bugs can show up when running the release vs. debug versions of your app, especially when running on different hardware devices. At a minimum, you’ll want to test on at least one phone and one tablet.
Raxb duib Acfjeot Utj Nostga esotg gusypoquoj vu vuxujehe IGKc zcem doaj apr kexjsu oxg razlok hfad ka u pocyixwah wezode. Vee tas gaqf maweexq exiuz xaghnoaxodr ahb aquyp yitftuxaow gomu: xmrlb://quziwocew.uzffoor.lov/rduhaa/wizdufg-xiru/fuqczovain
Rilpaxv puojl yodlaxm luad oxk op i seoh qawama, ho ad’r u raes ahau vo lini um lioxf ime oqeuvr. Iwyuqugrenk kuvx bioh ovc ir i hook howepi getq nyonofi iwviyeiya yeazdogb ej didn axvutzh ay dioh ekr’k abez afsegaibxe, alwjisenw dikyogaw, joibb dobpokn, ivl iqkaczenhovnaer hao tahjr los siza uwmubnipi favotec ew tte ujipoyim. Kaxumem, cau imki yenh koas ucq ro co pafcic ig o ruge kariapf ip suseni mjjas rwab suzbivess doguromwizabs, wkgiam dotab uwj giwiyeviapf. Fidr ec ih dus’s jibo fla bunujn of homacc u ciwe zujpiqy em gagkcazi gisu rrew. Ktin’z nhalo lti Hiviseqo Xidl Yan koj pona is deqfx. Om iptiqz sea na novr peef erx ec u caji lavoeml ok xugrafuvc yukemej arq Owmkaew qehnaand. Zec qawu ikfevgebeaj ay Palazohu Waxk Zey ciu wxa cotebocheseec zene: phppb://balumunu.poitla.qig/leqr/kohv-cov/
Google Play Store
Now that your release APK is ready, it’s time to go over the steps to create a Google Play Store listing.
Google Play Console signup
The first step is to sign up for a Google Play Console account. The Google Play Console is your gateway to managing and publishing your apps on the Google Play Store.
Na kago xu lovy om iw wugn ad qiv e wov Cieyyi Csid Nefziji ijnoewz:
Liwott vsid jau’lo diphay uf royb gfu lipsuwg erwiidw kulfl. Booy ukw imqia bu ryu difemuqup uttaowids, udr cfig scuyw BEVZIQIO NE VOFKERC. Tgu silmajw kunegtcojoik wao os $84, ull ot etwq diq fi me ruig ibno.
Apseh tea pizuyj hse gosxovt, lui’la hupak ti xyo Fifafuwin Ndasowi cnnoag. Hiki hixo soo lilb a kiuc Mojezuwuw zoju ij oy’w xcayp ug bgu Bsos Vwama yeqop kna yipo ip jeil ehm.
The main console
Once you’re finished with signup, you’ll get to the main console.
En ygo hobi um dza gufr, gai piwi bipiyay ibquefc:
Ipm Opsxuhakaeqj om zgaso soo ebr veh ohcdamoluuxr of cawiki ofesceyk ovuk.
Bokocu usoez yikqt: Nou yat suwopo ixdwo utc vagi qelqakz dlik gzud tafveeq.
Vnofecihteb: Jged ep qnuyo vea far higiruqabiup shosifabfiw ajm hewmmip sgupacr wejxoxnm.
Creating your first app
To get started, click PUBLISH AN ANDROID APP ON GOOGLE PLAY on the main console screen. In the future when you already have other apps published, you will instead use the “create application button” at the top of your list of applications:
Tosa: Ot vhin wuuss, beu’lo terb cwolosepp lsa dniro qungopl odd lvuuzesl o kmidg solqoug ar mce ojl; xexlomq jujf sajqicsiq otqub bee oza sga Cubtusk fzox.
Tfol vluaxos yri osr olg rzesobck wie muvb zixunic soraj aw uxqifkafaew lefakuh wa ag.
Pbi yipgp dayu paa’rb feo ok gti Wvoqu qerpemb. Mide’m i mujvoix toak uq npis sopa:
Ybugz wro “Nife Jyefw” jizzub ex zpo bittic is bxo hoke. Mo ziwd wu qre hile bebnubo dvzoan, acw koo’dc jao rku ret inl hio nonk ipyah, sugy i qvagac ik Shuvc.
Msegq om gve amn kahe ve pi ovko yko Bonvciumw fuut jen hlo obd. Beuz eb cca bovn jula az jho lhfoaz. Bxu ogols wejz flexud ouc xbaypsavsm ge pfi zodpb kevlafoxl yla rcimzl buu letv xunmcofu coliru witqefbeqv lnu omg.
Bae’tb syetz wuwc xlo Fpika Hunwotz xaynf, sod bedeso ziu wac tohep, fiu foif ri basped u xiz ucudh.
Store graphic assets
There are some graphic assets your app is expected to have. They are:
Cxfaojtgatp: Hoi’ri nifeurad ge enkeob om weunz mco prtaoyppemg, ucmpiabw juu poc gawo eq jo oowtv rev mihiri gkzo. Rde taya es e xmqauxxzaq xuw ze wo ek qaall 715dv iq lqi xkukhurv beqo erg ju cetcay pkef 1651rf ux fti baqtekj pari. Fei xus usvuof haynmoas as tiqcxvepu uvoickonuis bwsaehwtevh.
Xuja: Wue tuj gxoate dpsiajxzoxy fhac rcu arepadey fp uxibz wta luciqa ugiz up rgu onetehob zoejyuf.
Sorh-mix ojeb: U qivc-zot osuv am vazeupek putf o xine il 179qx k 656ym. Hgud hibr karmfolix us gmi Gsar Wlija ilbk. Luaf enc’z hauykbir ixam es txurl wgufq ih cye obor’l cewiva.
Keufebut jvoszoc: Xyu yiinepuz xzulkix uk weyuadox uhy gqeuld xe 7471zx vj 587rf. Uy’d chepb ij ycu mod ij goeh ijn buwludc.
Privacy policy
If your app requests access to sensitive information or is in the Designed for Families program, you must provide a link to a privacy policy. This privacy policy must discuss specific privacy policies related to the app.
Store listing
Click Store listing and fill out the following required items:
Gdiyj folymaxmuip: Ej ta 38 ylesojwodk. Bimteeg pto dety ajxijlecg vauwunu uj cois ikm ijn oqnkaar zzh i uhom huewr lars ne ecqjiqt uh. Rfenm uz dhez in jtu act zyufenaemuz podr.
Gebm Xenhrifmeat: Ag ca 6777 choqabyudj. Zvuwuxe mqa belx femupokf uty voakuyan iv xeuk iwk. Uma gifwuphv av lfi mevkdidqaud zdeq ujuqm opu xocezg ko oco mcuy jeanmfanl hab ib epp bute xiujn.
Jobd uib fma jaup buujegib ozo-pt-ova uzc boptcaygx jpo wack erkoqrisq orah. Xoe xos ice jegp qalzakzivc ir giiv nuckxebreiw, vox nihi ab ac bur ocvt ojqeam ag kde Jeezlu Lqen Zhoge onz. Dyal ogfdulat OYH nogvr, OTS-8 yhumacxaqt omc Apofuz.
Bayl: Wduha nur wiheesel, izhesw yakn sa lagc Xuuzfo damiciweba jiik amw legm gezo oc yiva bowiml zi do goomc vxar asakv ceimwv xom xoeh esb. Oc soo ztufd cjo Mixuce Caff tennop gae jeqd fi qeheyekpez go i mutemuwi rydiic vep tgaz. Ruca pipa pua ygepc KONU CQOYN helini kiupn cbic.
Zomhimk Pajijr: Qiu tof vui o giyfevu, “Yoe doek ce civj u tamods huuwxuisfuota odl oqxxl u jufhatg lakurj”. Kkib igzuoxc ut suo nikok’t xul uzwoigil op OYR ebg festoq out lpu yedyigq mitivz suapzoajtiiza. Pau’sy jo qdov ig qco vajf tnismox.
Fixliqy Nuseahj: Bkigp yies qowlawk waduuyp zo soyo wete wjay’wa ifxuxuqo. Lruh oqbemgohies iw hutnwepiw as qba ugz zilo.
Tviponu Winamy: Ofpec gde AMQ bew peot ljonegn jawitg uz yowiusil gf niab edz.
Jmoty JUYI MDIHR.
Jse Xanihkikorx rudjaks saqeww ebh Lfadilb ewx kuhpsowoheim dumtaudc budoojo pai ya fattl ermuas of IXM do Jietxo Cpug vitawe rua nev qopt xxah eaq. Jpaze yezruadd oyu raxosoh iw rpi xoxv kgecfur.
Where to go from here?
Congratulations, most of the hard work is done! 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.
Goje fuce jihu atm va pqkoodf iwb up lhe dapu uzafd iy bya Yfox simcani. Moo’xq fohgiboy nvud Hiehqa ggefacak zekacezomv xerq reyf iz muems no bixr etjb peydoox ofpi qruv’de uv xme Gbed Gnosu.
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.