import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" com . android . application ") ĊĠĠĠ Ġid (" org . jetbrains . kotlin . android ") ĊĠĠĠ Ġid (" kotlin - k apt ") Ċ } Ċ Ċ android Ġ{ ĊĊĠĠĠ Ġcompile Sdk Ġ= ĠProject Setting . PROJECT _ COMPILE _ SDK ĊĊĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication Id Ġ= ĠProject Setting . PROJECT _ APP _ ID ĊĠĠĠĠĠĠĠ Ġmin Sdk Ġ= ĠProject Setting . PROJECT _ MIN _ SDK ĊĠĠĠĠĠĠĠ Ġtarget Sdk Ġ= ĠProject Setting . PROJECT _ TARGET _ SDK ĊĠĠĠĠĠĠĠ Ġversion Code Ġ= ĠProject Setting . PROJECT _ VERSION _ CODE ĊĠĠĠĠĠĠĠ Ġversion Name Ġ= ĠProject Setting . PROJECT _ VERSION _ NAME ĊĊĠĠĠĠĠĠĠ Ġmulti Dex Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvector Draw ables . use Support Library Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġtest Instrumentation Runner Ġ= Ġ" android x . test . runner . Android JUnit Runner " ĊĊĠĠĠĠĠĠĠ Ġ// ĠDeclaration Ġbuild Ġconfig ĊĠĠĠĠĠĠĠ Ġbuild Config Field (" String ", Ġ" DATABASE _ NAME ", ĠProject Setting . DB ) ĊĠĠĠĠĠĠĠ Ġbuild Config Field (" String ", Ġ" PRE F _ NAME ", ĠProject Setting . PRE F ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠN aming ĠA PK Ġ// ĠA AB ĊĠĠĠĠĠĠĠ Ġset Property (" archives Base Name ", Ġ"${ Project Setting . NAME _ AP K } (${ version Name }) ") ĊĊĠĠĠĠĠĠĠ Ġ// ĠDeclaration Ġapps Ġname Ġdebug Ġmode ĊĠĠĠĠĠĠĠ Ġval Ġdebug Attribute Ġ= Ġ" Development " ĊĠĠĠĠĠĠĠ Ġval Ġname App Debug Ġ= Ġ"${ Project Setting . NAME _ APP } Ġ$ debug Attribute " ĊĠĠĠĠĠĠĠ Ġresource Configurations Ġ+= Ġset Of (" en ", Ġ" id ") ĊĊĠĠĠĠĠĠĠ Ġ// ĠInject Ġapp Ġname Ġfor Ġdebug ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" app _ name ", Ġname App Debug ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠInject Ġad mob Ġid Ġfor Ġdebug ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ app _ id ", ĠAd mob Value . debug Ad mob AppId ) ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ banner ", ĠAd mob Value . debug Ad mob Banner ) ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ inter stitial ", ĠAd mob Value . debug Ad mob Inter stitial ) ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ inter stitial _ video ", ĠAd mob Value . debug Ad mob Inter stitial Video ) ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ re warded ", ĠAd mob Value . debug Ad mob Rew arded ) ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ re warded _ inter stitial ", ĠAd mob Value . debug Ad mob Rew arded Inter stitial ) ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ native _ advanced ", ĠAd mob Value . debug Ad mob Native Advanced ) ĊĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ native _ advanced _ video ", ĠAd mob Value . debug Ad mob Native Advanced Video ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsigning Configs Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate (" release ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠYou Ġneed Ġto Ġspecify Ġeither Ġan Ġabsolute Ġpath Ġor Ġinclude Ġthe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġkeystore Ġfile Ġin Ġthe Ġsame Ġdirectory Ġas Ġthe Ġbuild . gradle Ġfile . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ[ PROJECT ĠF OLDER ĠNAME / app /[ COPY ĠY OUT ĠKEY ĠSTORE ] Ġ. j ks Ġin Ġhere ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore File Ġ= Ġfile ( Project Setting . PLAY STORE _ STORE _ FILE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Password Ġ= ĠProject Setting . PLAY STORE _ STORE _ PASSWORD ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Alias Ġ= ĠProject Setting . PLAY STORE _ KEY _ ALIAS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Password Ġ= ĠProject Setting . PLAY STORE _ KEY _ PASSWORD ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbuild Types Ġ{ ĊĠĠĠĠĠĠĠ Ġget ByName (" release ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Min ify Enabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpro guard Files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetDefault Pro guard File (" pro guard - android - optimize . txt "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" pro guard - rules . pro " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGenerated ĠSigned ĠA PK Ġ/ ĠA AB ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigning Config Ġ= Ġsigning Configs . get ByName (" release ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInject Ġapp Ġname Ġfor Ġrelease ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" app _ name ", ĠProject Setting . APP _ NAME ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInject Ġad mob Ġid Ġfor Ġrelease ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ app _ id ", ĠAd mob Value . release Ad mob AppId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ banner ", ĠAd mob Value . release Ad mob Banner ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ inter stitial ", ĠAd mob Value . release Ad mob Inter stitial ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ inter stitial _ video ", ĠAd mob Value . release Ad mob Inter stitial Video ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ re warded ", ĠAd mob Value . release Ad mob Rew arded ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ re warded _ inter stitial ", ĠAd mob Value . release Ad mob Rew arded Inter stitial ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ native _ advanced ", ĠAd mob Value . release Ad mob Native Advanced ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Value (" string ", Ġ" ad mob _ native _ advanced _ video ", ĠAd mob Value . release Ad mob Native Advanced Video ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbuild Features Ġ{ ĊĠĠĠĠĠĠĠ Ġview Binding Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompile Options Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 1 ĊĠĠĠĠĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . with Type < Kotlin Compile > Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Target Ġ= ĠJava Version . VERSION _ 1 1 . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ Ċ dependencies Ġ{ ĊĊĠĠĠ Ġimplementation ( Android x . app Compat ) ĊĠĠĠ Ġimplementation ( Android x . app Compat Resources ) ĊĠĠĠ Ġimplementation ( Android x . activity K tx ) ĊĠĠĠ Ġimplementation ( Android x . fragment K tx ) ĊĠĠĠ Ġimplementation ( Android x . constraint Layout ) ĊĠĠĠ Ġimplementation ( Android x . collection ) ĊĠĠĠ Ġimplementation ( Android x . saved State ) ĊĠĠĠ Ġimplementation ( Android x . view Pager 2 ) ĊĠĠĠ Ġimplementation ( Android x . preference K tx ) ĊĊĠĠĠ Ġimplementation ( Google . material ) ĊĠĠĠ Ġimplementation ( Google . gson ) ĊĠĠĠ Ġimplementation ( Google . ad mob ) ĊĊĠĠĠ Ġimplementation ( Android x . Lifecycle . view model K tx ) ĊĠĠĠ Ġimplementation ( Android x . Lifecycle . li ved ata K tx ) ĊĠĠĠ Ġimplementation ( Android x . Lifecycle . runtime K tx ) ĊĊĠĠĠ Ġimplementation ( Android x . Room . k tx ) ĊĠĠĠ Ġimplementation ( Android x . Room . runtime ) ĊĠĠĠ Ġimplementation ( Android x . Room . paging ) ĊĠĠĠ Ġimplementation ( Android x . Room . rx Java 3 ) ĊĊĠĠĠ Ġimplementation ( Square . Ok Http . okhttp ) ĊĠĠĠ Ġimplementation ( Square . Ok Http . logging Interceptor ) ĊĊĠĠĠ Ġimplementation ( Square . Ret rofit 2 . ret rofit ) ĊĠĠĠ Ġimplementation ( Square . Ret rofit 2 . converter Gson ) ĊĠĠĠ Ġimplementation ( Square . Ret rofit 2 . adapter Rx Java 3 ) ĊĊĠĠĠ Ġ// ĠLatest ĠVersion ĊĠĠĠ Ġimplementation ( Re activ ex . rx Java 3 ) ĊĠĠĠ Ġimplementation ( Re activ ex . rx Android 3 ) ĊĠĠĠ Ġimplementation ( Re activ ex . rx Kotlin 3 ) ĊĊĠĠĠ Ġimplementation ( K oin . core ) ĊĠĠĠ Ġimplementation ( K oin . android ) ĊĠĠĠ Ġimplementation ( K oin . android Compat ) ĊĠĠĠ Ġimplementation ( K oin . android x Work Manager ) ĊĠĠĠ Ġimplementation ( K oin . android x Compose ) ĊĊĠĠĠ Ġimplementation ( F ro go . sdk ) ĊĠĠĠ Ġimplementation ( F ro go . ui ) ĊĠĠĠ Ġimplementation ( F ro go . consume Api ) ĊĠĠĠ Ġimplementation ( F ro go . re cyclerView ) ĊĠĠĠ Ġimplementation ( F ro go . ad mob ) ĊĊĠĠĠ Ġimplementation ( GitHub . glide ) ĊĠĠĠ Ġimplementation ( GitHub . ch u cker ) ĊĊĠĠĠ Ġapi ( Jet Brains . coroutines Core ) ĊĠĠĠ Ġapi ( Jet Brains . coroutines Android ) ĊĊĠĠĠ Ġk apt ( Android x . Lifecycle . compiler ) ĊĠĠĠ Ġk apt ( Android x . Room . compiler ) ĊĠĠĠ Ġk apt ( GitHub . glide Compiler ) ĊĊĠĠĠ Ġtest Implementation ( Android x . junit 4 ) ĊĠĠĠ Ġtest Implementation ( Android x . Room . room Test ) ĊĠĠĠ Ġtest Implementation ( K oin . test ) ĊĊĠĠĠ Ġandroid Test Implementation ( Android x . Lifecycle . core Testing ) ĊĠĠĠ Ġandroid Test Implementation ( Android x . runner ) ĊĠĠĠ Ġandroid Test Implementation ( Android x . espress o Core ) Ċ Ċ }