Это ошибка, которую я получаю, когда пытаюсь запустить приложение:
Код: Выделить всё
java.lang.RuntimeException: Unable to instantiate application com.juegosdemesa.saltaconejo.SaltaConejoApplication: java.lang.ClassNotFoundException: Didn't find class "com.juegosdemesa.saltaconejo.SaltaConejoApplication" on path: DexPathList[[dex file "/data/data/com.juegosdemesa.saltaconejo/code_cache/.overlay/base.apk/classes7.dex", zip file "/data/app/~~fvjcQ4ZxOw99F2GO-9kvnw==/com.juegosdemesa.saltaconejo-DffqHuQR9C6r5HE_rQmgJw==/base.apk"],nativeLibraryDirectories=[/data/app/~~fvjcQ4ZxOw99F2GO-9kvnw==/com.juegosdemesa.saltaconejo-DffqHuQR9C6r5HE_rQmgJw==/lib/x86, /system/lib, /system_ext/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:1244)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6683)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.juegosdemesa.saltaconejo.SaltaConejoApplication" on path: DexPathList[[dex file "/data/data/com.juegosdemesa.saltaconejo/code_cache/.overlay/base.apk/classes7.dex", zip file "/data/app/~~fvjcQ4ZxOw99F2GO-9kvnw==/com.juegosdemesa.saltaconejo-DffqHuQR9C6r5HE_rQmgJw==/base.apk"],nativeLibraryDirectories=[/data/app/~~fvjcQ4ZxOw99F2GO-9kvnw==/com.juegosdemesa.saltaconejo-DffqHuQR9C6r5HE_rQmgJw==/lib/x86, /system/lib, /system_ext/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76)
at androidx.core.app.CoreComponentFactory.instantiateApplication(CoreComponentFactory.java:51)
at android.app.Instrumentation.newApplication(Instrumentation.java:1158)
at android.app.LoadedApk.makeApplication(LoadedApk.java:1236)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6683)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/juegosdemesa/saltaconejo/Hilt_SaltaConejoApplication;
at java.lang.VMClassLoader.findLoadedClass(Native Method)
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
... 14 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.juegosdemesa.saltaconejo.Hilt_SaltaConejoApplication" on path: DexPathList[[dex file "/data/data/com.juegosdemesa.saltaconejo/code_cache/.overlay/base.apk/classes7.dex", zip file "/data/app/~~fvjcQ4ZxOw99F2GO-9kvnw==/com.juegosdemesa.saltaconejo-DffqHuQR9C6r5HE_rQmgJw==/base.apk"],nativeLibraryDirectories=[/data/app/~~fvjcQ4ZxOw99F2GO-9kvnw==/com.juegosdemesa.saltaconejo-DffqHuQR9C6r5HE_rQmgJw==/lib/x86, /system/lib, /system_ext/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 17 more
[CIRCULAR REFERENCE:java.lang.NoClassDefFoundError: Failed resolution of: Lcom/juegosdemesa/saltaconejo/Hilt_SaltaConejoApplication;]
Вот код активности:
Код: Выделить всё
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import com.juegosdemesa.saltaconejo.ui.theme.SaltaConejoTheme
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
SaltaConejoTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
SaltaConejoApp()
}
}
}
}
}
Код: Выделить всё
Код: Выделить всё
@HiltAndroidApp
class SaltaConejoApplication: Application() {
val applicationScope = CoroutineScope(SupervisorJob())
/**
* AppContainer instance used by the rest of classes to obtain dependencies
*/
lateinit var container: AppContainer
override fun onCreate() {
super.onCreate()
container = AppDataContainer(this)
}
}
Код: Выделить всё
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
//For Room substitute for kapt
id("com.google.devtools.ksp")
//For Hilt
id("dagger.hilt.android.plugin")
id("kotlin-kapt")
}
android {
namespace = "com.juegosdemesa.saltaconejo"
compileSdk = 34
defaultConfig {
applicationId = "com.juegosdemesa.saltaconejo"
minSdk = 28
targetSdk = 34
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
viewBinding = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.activity:activity-compose:1.8.2")
implementation(platform("androidx.compose:compose-bom:2023.08.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.08.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
//Library for tinder like card
implementation ("com.github.AsynctaskCoffee:tinderlikecardstack:1.0")
implementation ("com.google.android.material:material:1.11.0")
implementation ("io.coil-kt:coil-compose:1.3.2")
val navigationVersion = "2.7.6"
implementation ("androidx.navigation:navigation-fragment-ktx:$navigationVersion")
implementation ("com.alexstyl.swipeablecard:swipeablecard:0.1.0")
implementation ("com.google.accompanist:accompanist-systemuicontroller:0.26.1-alpha")
implementation ("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2")
implementation ("androidx.compose.runtime:runtime-livedata:1.5.4")
implementation ("androidx.navigation:navigation-compose:2.7.6")
val roomVersion = "2.6.1"
//Room
implementation("androidx.room:room-runtime:$roomVersion")
ksp("androidx.room:room-compiler:$roomVersion")
implementation("androidx.room:room-ktx:$roomVersion")
//Hilt
val hiltVersion = 2.44
implementation ("com.google.dagger:hilt-android:$hiltVersion")
ksp ("com.google.dagger:hilt-android-compiler:$hiltVersion")
implementation ("androidx.hilt:hilt-navigation-compose:1.1.0")
}
Код: Выделить всё
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id("com.android.application") version "8.2.1" apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
id("com.google.devtools.ksp") version "1.9.0-1.0.13" apply false
id("com.google.dagger.hilt.android") version "2.44" apply false
}
Также я пытался использовать kapt для Hilt, но в этом случае приложение не работает скомпилирую, и все отзывы, которые я получаю, это java.lang.reflect.InvocationTargetException (нет сообщения об ошибке), что совершенно бесполезно.
В качестве обходного пути я использовал эту кодовую лабораторию в качестве пример, и приложение отлично компилируется и работает https://developer.android.com/codelabs/ ... =es-419#10
Есть идеи, что может произойти?
Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/777 ... e-activity
Мобильная версия