import Ġcom . vd ream ers . version . App Build Configs Ċ import Ġcom . vd ream ers . version . Deps Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . util .* Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" com . android . application ") ĊĠĠĠ Ġid (" kotlin - android ") Ċ } Ċ Ċ android Ġ{ ĊĠĠĠ Ġcompile Sdk Version ( App Build Configs . COMPILE _ SDK _ VERSION ) ĊĠĠĠ Ġbuild Tools Version ( App Build Configs . BUILD _ TOOLS _ VERSION ) ĊĊĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication Id ( App Build Configs . APPLICATION _ ID ) ĊĠĠĠĠĠĠĠ Ġmin Sdk Version ( App Build Configs . MIN _ SDK _ VERSION ) ĊĠĠĠĠĠĠĠ Ġtarget Sdk Version ( App Build Configs . TARGET _ SDK _ VERSION ) ĊĠĠĠĠĠĠĠ Ġversion Code ( App Build Configs . VERSION _ CODE ) ĊĠĠĠĠĠĠĠ Ġversion Name ( App Build Configs . VERSION _ NAME ) ĊĊĠĠĠĠĠĠĠ Ġtest Instrumentation Runner (" android x . test . runner . Android JUnit Runner ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsigning Configs Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfis Ġ= ĠFileInputStream ("${ root Project . project Dir }/ local . properties ") ĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload ( fis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrelease Key Path : ĠString Ġ= Ġproperties . getProperty (" release . keystore . path ") Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġrelease Key Password : ĠString Ġ= Ġproperties . getProperty (" release . keystore . password ") Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġrelease Key Alias : ĠString Ġ= Ġproperties . getProperty (" release . keystore . alias ") Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġrelease Key Alias Password : ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . getProperty (" release . keystore . alias Password ") Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠ Ġcreate (" release ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Alias Ġ= Ġrelease Key Alias ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Password Ġ= Ġrelease Key Alias Password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore File Ġ= Ġfile ( release Key Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Password Ġ= Ġrelease Key Password ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġflavor Dimensions (" channel ", Ġ" env ") ĊĠĠĠ Ġproduct Fl avors Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate (" official ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension (" channel ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcreate (" un official ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension (" channel ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcreate (" internal ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id ( App Build Configs . APPLICATION _ ID _ INTERNAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension (" env ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcreate (" production ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id ( App Build Configs . APPLICATION _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension (" env ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbuild Types Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdebug Ġ= Ġget ByName (" debug ") ĊĠĠĠĠĠĠĠ Ġdebug . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Suffix Ġ= Ġ". debug " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Suffix Ġ= Ġ"- Debug " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdebug gable ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin ify Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpro guard Files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetDefault Pro guard File (" pro guard - android - optimize . txt "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" pro guard - rules . pro " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigning Config Ġ= Ġsigning Configs . get ByName (" debug ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrelease Ġ= Ġget ByName (" release ") ĊĠĠĠĠĠĠĠ Ġrelease . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin ify Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpro guard Files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetDefault Pro guard File (" pro guard - android - optimize . txt "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" pro guard - rules . pro " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigning Config Ġ= Ġsigning Configs . get ByName (" release ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġbeta Ġ= Ġcreate (" beta ") ĊĠĠĠĠĠĠĠ Ġbeta . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit With ( release ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Suffix Ġ= Ġ". beta " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Suffix Ġ= Ġ"- Beta " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdebug gable ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompile Options Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Compatibility ( Java Version . VERSION _ 1 _ 8 ) ĊĠĠĠĠĠĠĠ Ġtarget Compatibility ( Java Version . VERSION _ 1 _ 8 ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠ Ġ} Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( Deps . Kotlin . stdlib ()) ĊĠĠĠ Ġimplementation ( Deps . Android X . core K tx ()) ĊĠĠĠ Ġimplementation ( Deps . Android X . appcompat ()) ĊĠĠĠ Ġimplementation ( Deps . Android X . constraint Layout ()) ĊĠĠĠ Ġimplementation ( Deps . Google . material ()) ĊĊĠĠĠ Ġimplementation ( project (": demo - base - android ")) ĊĠĠĠ Ġimplementation ( project (": demo - lib - android ")) ĊĠĠĠ Ġimplementation ( project (": demo - lib - java ")) ĊĠĠĠ Ġimplementation ( project (": demo - lib - kotlin ")) ĊĊĠĠĠ Ġtest Implementation ( Deps . Test . junit ()) ĊĠĠĠ Ġandroid Test Implementation ( Deps . Android Test . junit ()) ĊĠĠĠ Ġandroid Test Implementation ( Deps . Android Test . espress o Core ()) Ċ }