I am trying to run an app that I am coding along with in Android Studio 4.1 Development Essentials, Chapter 76. It is an application that uses the Android Room Persistence Library.
The error that I am getting is:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)
While being fairly new to Kotlin and Android Studio, I believe the error has something to do with how my build.gradle app file is set up, show below.
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "us.jordanakellogg.roomdemo"
minSdkVersion 26
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildFeatures {
viewBinding true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
implementation 'androidx.room:room-runtime:2.2.5'
implementation 'androidx.fragment:fragment-ktx:1.2.5'
kapt "androidx.room:room-compiler:2.2.5"
kapt 'androidx.databinding:databinding-compiler-common:4.0.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
I will provide my DAO class as well as I feel maybe there might be something wrong with that as well.
import androidx.lifecycle.LiveData
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.Query
#Dao
interface ProductDAO {
#Insert
fun insertProduct(product: Product)
#Query("SELECT * FROM products WHERE productName=:name")
fun findProduct(name: String): List<Product>
#Query("DELETE FROM products WHERE productName=:name")
fun deleteProduct(name: String)
#Query("SELECT * FROM products")
fun getAllProducts(): LiveData<List<Product>>
}
Could you help point me in the right direction so I successfully test this app without receiving the "Execution failed for task ':app:kaptDebugKotlin'." error?
Related
I'm adding a class on the project app for reading external permission ActivityResultCotract.RequestPermission for regiesterActivityResult and not showing in dialogue and intention icon classes and I was trying more times to update the dependencies for Gradle but doesn't still show, and when writing this class showing error can T use an alternative method's the ActivityResultCotract.RequestPermission or add this class manually for my package and this code for Main Activity :
///storagePermissionLauncher = registerForActivityResult(
// new ActivityResultContracts.RequestPermission, granted->(),
// new ActivityResultCallback<ActivityResult> () {
//
// if (granted ) {
// fetch songs
// fetchSongs();
// }
// }
and this Grale for this app :
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 33
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.example.mp3_playerapp"
minSdkVersion 28
targetSdkVersion 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.0-alpha04'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.+'
implementation 'androidx.activity:activity:1.6.0-alpha05'
implementation 'androidx.fragment:fragment:1.4.0-alpha05'
implementation 'androidx.activity:activity:1.6.0-alpha04#aar'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0-alpha03'
}
D:\HeavenChat\build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
project.ext {
compileSdkVersion = 29
minSdkVersion = 21
targetSdkVersion =28
supportVersion = "29.0.2"
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.0'
classpath 'com.google.gms:google-services:4.3.10'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
maven { url "https://giphy.bintray.com/giphy-sdk" }
maven { url 'https://jitpack.io' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
D:\HeavenChat\app\build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 32
defaultConfig {
applicationId "com.android.heavenchat"
minSdkVersion 21
targetSdkVersion 32
versionCode 52
versionName "15.9"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
bundle {
language {
// Specifies that the app bundle should not support
// configuration APKs for language resources. These
// resources are instead packaged with each base and
// dynamic feature APK.
enableSplit = false
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lint {
abortOnError false
checkReleaseBuilds false
}
namespace 'com.android.heavenchat'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.exifinterface:exifinterface:1.3.3'
testImplementation 'junit:junit:4.13.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.github.pronabsen:DragRecyclerView:1.0.0'
implementation project(':DragRecylerView')
implementation project(path: ':binderExtended')
implementation project(path: ':binderStatic')
implementation 'androidx.activity:activity:1.4.0'
implementation 'androidx.fragment:fragment:1.4.1'
implementation 'com.yuyakaido.android:card-stack-view:1.0.0-beta9'
implementation 'com.makeramen:roundedimageview:2.3.0'
implementation 'com.daimajia.easing:library:2.0#aar'
implementation 'com.daimajia.androidanimations:library:2.3#aar'
implementation 'com.daimajia.slider:library:1.1.5#aar'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.github.yesterselga:country-picker-android:1.0'
implementation 'com.google.android.material:material:1.6.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.percentlayout:percentlayout:1.0.0'
implementation 'com.mindorks.android:prdownloader:0.6.0'
implementation 'com.chauthai.overscroll:overscroll-bouncy:0.1.1'
implementation 'pl.bclogic:pulsator4droid:1.0.3'
implementation 'me.everything:overscroll-decor-android:1.0.4'
implementation 'com.labo.kaji:fragmentanimations:0.1.1'
implementation 'com.mcxiaoke.volley:library-aar:1.0.0'
implementation 'com.makeramen:roundedimageview:2.3.0'
implementation 'com.facebook.android:facebook-android-sdk:5.15.3'
implementation 'com.gmail.samehadar:iosdialog:1.0'
implementation('com.giphy.sdk:core:1.0.2#aar') {
transitive = true
}
implementation 'com.android.billingclient:billing:5.0.0'
// glide image blur library
implementation 'com.github.bumptech.glide:glide:4.12.0'
implementation 'jp.wasabeef:glide-transformations:4.1.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation 'com.github.channguyen:rsv:1.0.1'
implementation 'com.zhouyou:signseekbar:1.0.6'
implementation 'net.the4thdimension:audio-wife:1.0.3'
implementation 'org.jsoup:jsoup:1.13.1'
implementation 'com.github.aakira:expandable-layout:1.6.0#aar'
implementation 'com.appyvet:materialrangebar:1.4.8'
// fresco image display library
implementation 'com.facebook.fresco:fresco:2.6.0'
implementation 'com.facebook.fresco:animated-gif:2.3.0'
implementation 'com.mikhaellopez:circularprogressbar:3.0.3'
implementation 'com.theartofdev.edmodo:android-image-cropper:'
implementation 'com.twilio:video-android:4.2.0'
implementation 'com.google.android.gms:play-services-gcm:17.0.0'
implementation 'com.google.android.gms:play-services-maps:18.0.2'
implementation 'com.google.android.gms:play-services-location:19.0.1'
implementation 'com.google.android.gms:play-services-places:17.0.0'
implementation 'com.google.android.gms:play-services-auth:20.2.0'
implementation 'com.google.firebase:firebase-database:20.0.5'
implementation 'com.google.firebase:firebase-messaging:23.0.5'
implementation 'com.google.firebase:firebase-core:21.0.0'
implementation 'com.google.firebase:firebase-storage:20.0.1'
implementation 'com.google.android.gms:play-services-ads:20.6.0'
implementation 'cat.ereza:customactivityoncrash:2.3.0'
implementation 'com.github.joielechong:countrycodepicker:2.4.2'
implementation 'com.chaos.view:pinview:1.4.4'
implementation 'com.ycuwq.widgets:datepicker:1.3.1'
// text size / ui size
implementation 'com.intuit.sdp:sdp-android:1.0.6'
implementation 'com.intuit.ssp:ssp-android:1.0.6'
implementation 'com.tbuonomo:dotsindicator:4.2'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
apply plugin: 'com.google.gms.google-services'
D:\HeavenChat\DragRecylerView\build.gradle
apply plugin: 'com.novoda.bintray-release'
apply plugin: 'com.android.library'
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.novoda:bintray-release:0.9.2'
}
}
def version = "1.0.5"
publish {
userOrg = 'shinhyo'
groupId = 'com.wonshinhyo'
artifactId = 'dragrecyclerview'
publishVersion = version
website = 'https://github.com/adearya69/DragRecyclerView'
issueTracker = "${website}/issues"
repository = "${website}.git"
}
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
namespace 'com.wonshinhyo.dragrecyclerview'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:recyclerview-v7:' + rootProject.ext.supportVersion
}
Error Have you created the publish closure? Missing desc. "
A problem occurred configuring project ':DragRecylerView'.
Have you created the publish closure? Missing desc.
Try:
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project
I searched a lot on the web, but couldn't find a solution. I have a a project named VolleyLib with a library module named volleylib. I'm trying to publish the library on mavenLocal repo, but when build the project no publishing task is executed (only prepareLintJarForPublish). And of course nothing goes into .m2 folder (which I created myself after installed maven...). I can't really get why and what is wrong. Probably something's missing...
Here's my build.gradle for volleylib module:
plugins {
id 'com.android.library'
id 'maven-publish'
}
android {
compileSdk 31
defaultConfig {
minSdk 22
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.4.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation 'com.android.volley:volley:1.2.1'
implementation 'com.fasterxml.jackson.jr:jackson-jr-annotation-support:2.13.1'
implementation 'androidx.room:room-common:2.4.1'
annotationProcessor 'androidx.room:room-compiler:2.4.1'
implementation 'androidx.room:room-coroutines:2.1.0-alpha04'
implementation 'androidx.room:room-runtime:2.4.1'
implementation 'androidx.room:room-migration:2.4.1'
implementation 'androidx.room:room-rxjava2:2.4.1'
}
afterEvaluate {
publishing {
publications {
// Creates a Maven publication called "release".
release(MavenPublication) {
// Applies the component for the release build variant.
from components.release
// You can then customize attributes of the publication as shown below.
groupId = 'com.example.VolleyLib'
artifactId = 'final'
version = '1.0'
}
// Creates a Maven publication called “debug”.
debug(MavenPublication) {
// Applies the component for the debug build variant.
from components.debug
groupId = 'com.example.VolleyLib'
artifactId = 'final-debug'
version = '1.0'
}
}
repositories {
mavenLocal()
}
}
}
Any help would be greatly appreciated.
It's the first time I try this, so apologize if it's a trivial question...
Thank you all in advance.
My working library build.gradle is almost like yours. Except, it doesn't use the following:
plugins {
id 'com.android.library'
id 'maven-publish'
}
but the following:
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
And I'm using Java 8 for compileOptions block:
android {
...
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
And, lastly, without repositories in afterEvaluate:
afterEvaluate {
publishing {
...
// Remove the following commented line:
// repositories {
// mavenLocal()
// }
}
}
Then, to build and install the library to maven local, click gradle icon on the left menu of Android Studio. Then select projectName -> libraryName -> Run Configuration -> publishToMavenLocal.
UPDATE:
Here the complete build.gradle.
root build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.1'
}
}
repositories {
mavenCentral()
}
allprojects {
repositories {
jcenter()
mavenLocal()
mavenCentral()
maven { url "https://jitpack.io" }
google()
}
}
ext {
compileSdkVersion = 31
buildToolsVersion = '30.0.2'
minSdkVersion = 16
targetSdkVersion = 31
junitVersion = '4.13.2'
androidxAppcompatVersion = '1.4.1'
androidApplicationId = 'com.project.sample'
androidVersionCode = 1000
androidVersionName = "1.0.0"
androidAppName = 'Sample'
}
my library build.gradle (jcplayer library in root/jcplayer directory):
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation "androidx.appcompat:appcompat:$androidxAppcompatVersion"
}
// Because the components are created only during the afterEvaluate phase, you must
// configure your publications using the afterEvaluate() lifecycle method.
afterEvaluate {
publishing {
publications {
// Creates a Maven publication called "release".
jcplayer(MavenPublication) {
// Applies the component for the release build variant.
from components.release
// You can then customize attributes of the publication as shown below.
groupId = rootProject.ext.androidApplicationId
artifactId = 'jcplayer'
version = rootProject.ext.androidVersionName
}
}
}
}
I am currently integrating a Unity AR project as a library in a native Android Studio project. It is all fine with the exception that when I try to build/run the project in Android Studio I get the exception from the title:
Could not find :ARPresto:.
Required by:
project :unityLibrary
Search in build.gradle files
I have no idea why this happens since the unity project seems to be successfully integrated as a library and I can open in the in Android Studio project menu.
This is the build.gradle file of the Unity Library:
allprojects {
buildscript {
repositories {
google()
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
}
}
}
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
apply plugin: 'com.android.library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation(name: 'ARPresto', ext:'aar')
implementation(name: 'unityandroidpermissions', ext:'aar')
implementation(name: 'VuforiaEngine', ext:'aar')
}
android {
compileSdkVersion 31
buildToolsVersion '30.0.3'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
minSdkVersion 26
targetSdkVersion 31
ndk { abiFilters 'armeabi-v7a' }
ndk {
// Default ABI list for this app, can be over-ridden by providing an abiList property
// e.g. gradle -PabiList=x86 clean assembleDebug
abiFilters ((project.findProperty('abiList') ?: 'armeabi-v7a, arm64-v8a').split(/,\s*/))
}
versionCode 1
versionName '0.1'
consumerProguardFiles 'proguard-unity.txt'
}
lintOptions {
abortOnError false
}
aaptOptions {
noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ')
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}
packagingOptions {
doNotStrip '*/armeabi-v7a/*.so'
}
}
This is the module and project gradle files of the parent android app:
Project
ext {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
// flatDir {
// dirs "${project(':unityLibrary').projectDir}/libs"
// }
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.3"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Module
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
}
android {
compileSdk 31
defaultConfig {
applicationId "com.project.chemistryar"
minSdk 26
targetSdk 31
versionCode 1
versionName "1.0"
ndk{
abiFilters 'armeabi-v7a','x86'
}
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
kotlinOptions {
jvmTarget = '1.8'
}
compileSdkVersion 31
buildToolsVersion '30.0.3'
}
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation project(path: ':unityLibrary')
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation 'com.google.android.material:material:1.4.0'
// unity
//implementation project(':unityLibrary')
//implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString() + ('\\libs'), include: ['*.jar'])
//bottom navigation bar
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
}
Build.gardle
Plugins{
Id 'com.android.application'
Id 'kotlin-android'
}
Android {
ViewBinding{
enabled=true
}
CompileSdkVersion 31
BuildToolsVersion 30.0.3
defaultConfig{
applicationid
com.example.quizapp
MinSdkVersion 21
targetSdkVersion 31
VersionCode 1
VersionName "1.0"
testInstrumentationRunner"Android x.test.runner.AndroidJUnutRunner" }
}
BuildTypes{
release {
MinifyEnabled false
ProguardFiles getDefaultproguardFile(proguard-android-optimize.txt), proguard-rules.pro
}
}
CompileOptions {
SourceCompatability javaversion.Version_1_8
targetcompatibility javaVersion.Version_1_8
}
KotlinOptions{
JvmTarget = 1.8
}
Your build.gradle file seems to not be formatted correctly. Please refer to the following file and make the changes accordingly
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlinx-serialization'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "com.raywenderlich.android.memories"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
// Support Libraries
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
// Testing Dependencies
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
// TUTORIAL DEPENDENCIES HERE
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0'
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2")
implementation 'com.squareup.okhttp3:okhttp:4.4.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.4.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation "androidx.work:work-runtime-ktx:2.5.0"
}