android:
This commit is contained in:
9
android/CHANGELOG.md
Normal file
9
android/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Android Changelog
|
||||||
|
|
||||||
|
## 2026-03-08
|
||||||
|
### Step 1 - Build and app wiring
|
||||||
|
- Added Android project plugin configuration for Hilt and Kotlin serialization.
|
||||||
|
- Added dependency repositories and explicit app module include in settings.
|
||||||
|
- Added app dependencies for Retrofit/OkHttp, DataStore, coroutines, Hilt, and unit testing.
|
||||||
|
- Enabled INTERNET permission and registered MessengerApplication in manifest.
|
||||||
|
- Added MessengerApplication with HiltAndroidApp.
|
||||||
@@ -1,20 +1,23 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
id(com.android.application)
|
||||||
id("org.jetbrains.kotlin.android")
|
id(org.jetbrains.kotlin.android)
|
||||||
|
id(org.jetbrains.kotlin.kapt)
|
||||||
|
id(org.jetbrains.kotlin.plugin.serialization)
|
||||||
|
id(com.google.dagger.hilt.android)
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "ru.daemonlord.messenger"
|
namespace = ru.daemonlord.messenger
|
||||||
compileSdk = 35
|
compileSdk = 35
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "ru.daemonlord.messenger"
|
applicationId = ru.daemonlord.messenger
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 35
|
targetSdk = 35
|
||||||
versionCode = 1
|
versionCode = 1
|
||||||
versionName = "0.1.0"
|
versionName = 0.1.0
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = androidx.test.runner.AndroidJUnitRunner
|
||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
useSupportLibrary = true
|
useSupportLibrary = true
|
||||||
}
|
}
|
||||||
@@ -24,8 +27,8 @@ android {
|
|||||||
release {
|
release {
|
||||||
isMinifyEnabled = false
|
isMinifyEnabled = false
|
||||||
proguardFiles(
|
proguardFiles(
|
||||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
getDefaultProguardFile(proguard-android-optimize.txt),
|
||||||
"proguard-rules.pro"
|
proguard-rules.pro
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -36,33 +39,59 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
jvmTarget = "17"
|
jvmTarget = 17
|
||||||
}
|
}
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
compose = true
|
compose = true
|
||||||
|
buildConfig = true
|
||||||
}
|
}
|
||||||
|
|
||||||
composeOptions {
|
composeOptions {
|
||||||
kotlinCompilerExtensionVersion = "1.5.15"
|
kotlinCompilerExtensionVersion = 1.5.15
|
||||||
}
|
}
|
||||||
|
|
||||||
packaging {
|
packaging {
|
||||||
resources {
|
resources {
|
||||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
excludes += /META-INF/AL2.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("androidx.core:core-ktx:1.15.0")
|
implementation(androidx.core:core-ktx:1.15.0)
|
||||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7")
|
implementation(androidx.lifecycle:lifecycle-runtime-ktx:2.8.7)
|
||||||
implementation("androidx.activity:activity-compose:1.10.1")
|
implementation(androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7)
|
||||||
implementation("androidx.compose.ui:ui:1.7.6")
|
implementation(androidx.activity:activity-compose:1.10.1)
|
||||||
implementation("androidx.compose.ui:ui-tooling-preview:1.7.6")
|
implementation(androidx.navigation:navigation-compose:2.8.5)
|
||||||
implementation("androidx.compose.material3:material3:1.3.1")
|
|
||||||
implementation("androidx.navigation:navigation-compose:2.8.5")
|
|
||||||
|
|
||||||
debugImplementation("androidx.compose.ui:ui-tooling:1.7.6")
|
implementation(androidx.compose.ui:ui:1.7.6)
|
||||||
debugImplementation("androidx.compose.ui:ui-test-manifest:1.7.6")
|
implementation(androidx.compose.ui:ui-tooling-preview:1.7.6)
|
||||||
|
implementation(androidx.compose.material3:material3:1.3.1)
|
||||||
|
|
||||||
|
implementation(org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0)
|
||||||
|
implementation(org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3)
|
||||||
|
|
||||||
|
implementation(com.squareup.retrofit2:retrofit:2.11.0)
|
||||||
|
implementation(com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0)
|
||||||
|
implementation(com.squareup.okhttp3:okhttp:4.12.0)
|
||||||
|
implementation(com.squareup.okhttp3:logging-interceptor:4.12.0)
|
||||||
|
|
||||||
|
implementation(androidx.datastore:datastore-preferences:1.1.1)
|
||||||
|
|
||||||
|
implementation(com.google.dagger:hilt-android:2.52)
|
||||||
|
kapt(com.google.dagger:hilt-compiler:2.52)
|
||||||
|
implementation(androidx.hilt:hilt-navigation-compose:1.2.0)
|
||||||
|
|
||||||
|
testImplementation(junit:junit:4.13.2)
|
||||||
|
testImplementation(org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0)
|
||||||
|
testImplementation(io.mockk:mockk:1.13.13)
|
||||||
|
testImplementation(com.squareup.okhttp3:mockwebserver:4.12.0)
|
||||||
|
|
||||||
|
debugImplementation(androidx.compose.ui:ui-tooling:1.7.6)
|
||||||
|
debugImplementation(androidx.compose.ui:ui-test-manifest:1.7.6)
|
||||||
|
}
|
||||||
|
|
||||||
|
kapt {
|
||||||
|
correctErrorTypes = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version=1.0 encoding=utf-8?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android=http://schemas.android.com/apk/res/android>
|
||||||
|
|
||||||
|
<uses-permission android:name=android.permission.INTERNET />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:name=.MessengerApplication
|
||||||
android:icon="@android:drawable/sym_def_app_icon"
|
android:allowBackup=true
|
||||||
android:label="@string/app_name"
|
android:icon=@android:drawable/sym_def_app_icon
|
||||||
android:roundIcon="@android:drawable/sym_def_app_icon"
|
android:label=@string/app_name
|
||||||
android:supportsRtl="true"
|
android:roundIcon=@android:drawable/sym_def_app_icon
|
||||||
android:theme="@android:style/Theme.Material.Light.NoActionBar">
|
android:supportsRtl=true
|
||||||
|
android:theme=@android:style/Theme.Material.Light.NoActionBar>
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=.MainActivity
|
||||||
android:exported="true">
|
android:exported=true>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name=android.intent.action.MAIN />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name=android.intent.category.LAUNCHER />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
</application>
|
</application>
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package ru.daemonlord.messenger
|
||||||
|
|
||||||
|
import android.app.Application
|
||||||
|
import dagger.hilt.android.HiltAndroidApp
|
||||||
|
|
||||||
|
@HiltAndroidApp
|
||||||
|
class MessengerApplication : Application()
|
||||||
@@ -1,4 +1,7 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("com.android.application") version "8.7.2" apply false
|
id(com.android.application) version 8.7.2 apply false
|
||||||
id("org.jetbrains.kotlin.android") version "2.0.21" apply false
|
id(org.jetbrains.kotlin.android) version 2.0.21 apply false
|
||||||
|
id(com.google.dagger.hilt.android) version 2.52 apply false
|
||||||
|
id(org.jetbrains.kotlin.plugin.serialization) version 2.0.21 apply false
|
||||||
|
id(org.jetbrains.kotlin.kapt) version 2.0.21 apply false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,5 +14,5 @@ dependencyResolutionManagement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rootProject.name = "BenyaMessengerAndroid"
|
rootProject.name = MessengerAndroid
|
||||||
include(":app")
|
include(:app)
|
||||||
|
|||||||
Reference in New Issue
Block a user