in my kotlin android projects the gradle syntax must look like this way, and doesn't support many of the features/lines posted around in tutorials and other answers here, why?
in my projects, the dependency implementation line must look like this
implementation("androidx.activity:activity-compose:1.8.1")
but everywhere else what i see is this, and this is not at all supported in my project
implementation'androidx.activity:activity-compose:1.8.1'
lines and functions like below don't work at all and i have no idea how to configure the gradle to read them or make them work.
api project(':module-name')
maven { url 'https://jitpack.io' }
on such lines i get all kinds of syntax errors, unresolved references, unexpected tokens and so on
my project's gradle looks like this
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.myapplication"
compileSdk = 33
defaultConfig {
applicationId = "com.example.myapplication"
minSdk = 24
targetSdk = 33
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
release {
isMinifyEnabled = 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"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.3"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
dependencies {
implementation (":RFIDAPI3Library")
implementation("androidx.core:core-ktx:1.9.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.activity:activity-compose:1.8.1")
implementation(platform("androidx.compose:compose-bom:2023.03.00"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
}
i don't understand what's going on and where the difference lays
I have encountered these problems too. Gradle scripts are written in either Groovy DSL or Kotlin DSL (domain-specific language).
What you have in your studio is Kotlin DSL and other code are of Groovy DSL. There is no duffrence in functionality, it's just the syntax.
You can always find the correct syntax on the official documentation here. By clicking that link you can modify your gradle accordinly.