3

In this project, I am using the Dagger-hilt for the Dependency injection. But I am getting the following error When I use hilt annotation @AndroidEntryPoint, @Inject,@Module, etc. Without hilt annotation, it is working fine.

2021-06-02 12:25:15.169 17359-17359/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.dependencyinjection, PID: 17359
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.dependencyinjection/com.example.dependencyinjection.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.dependencyinjection.MainActivity" on path: DexPathList[[zip file "/data/app/~~JF_ZwLWX1YeWqPVpJDysrA==/com.example.dependencyinjection-rqflkMjlfZD1nrWAo6UPmw==/base.apk"],nativeLibraryDirectories=[/data/app/~~JF_ZwLWX1YeWqPVpJDysrA==/com.example.dependencyinjection-rqflkMjlfZD1nrWAo6UPmw==/lib/arm64, /system/lib64, /system/system_ext/lib64]]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3474)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3730)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2169)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:236)
    at android.app.ActivityThread.main(ActivityThread.java:8025)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.dependencyinjection.MainActivity" on path: DexPathList[[zip file "/data/app/~~JF_ZwLWX1YeWqPVpJDysrA==/com.example.dependencyinjection-rqflkMjlfZD1nrWAo6UPmw==/base.apk"],nativeLibraryDirectories=[/data/app/~~JF_ZwLWX1YeWqPVpJDysrA==/com.example.dependencyinjection-rqflkMjlfZD1nrWAo6UPmw==/lib/arm64, /system/lib64, /system/system_ext/lib64]]
    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.instantiateActivity(AppComponentFactory.java:95)
    at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1253)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3462)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3730) 
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2169) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:236) 
    at android.app.ActivityThread.main(ActivityThread.java:8025) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011) 
    Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/example/dependencyinjection/Hilt_MainActivity;
    at java.lang.VMClassLoader.findLoadedClass(Native Method)
    at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
            ... 16 more
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.dependencyinjection.Hilt_MainActivity" on path: DexPathList[[zip file "/data/app/~~JF_ZwLWX1YeWqPVpJDysrA==/com.example.dependencyinjection-rqflkMjlfZD1nrWAo6UPmw==/base.apk"],nativeLibraryDirectories=[/data/app/~~JF_ZwLWX1YeWqPVpJDysrA==/com.example.dependencyinjection-rqflkMjlfZD1nrWAo6UPmw==/lib/arm64, /system/lib64, /system/system_ext/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
            ... 19 more

I tried this, also this

This is my build.gradle(:app) file.

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'dagger.hilt.android.plugin'


android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        multiDexEnabled true
        applicationId "com.example.dependencyinjection"
        minSdkVersion 26
        targetSdkVersion 30
        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.3.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

    //hilt dependencies
    implementation "com.google.dagger:hilt-android:2.35"
    annotationProcessor 'com.google.dagger:hilt-android-compiler:2.28-alpha'

    implementation "androidx.multidex:multidex:2.0.1"

}

This is build.gradle(Project).

    buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.0"
        classpath "com.google.dagger:hilt-android-gradle-plugin:2.35.1"
    }
}

    allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter() 
    }
}

    task clean(type: Delete) {
    delete rootProject.buildDir
}

MaiActivity.

package com.example.dependencyinjection;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import javax.inject.Inject;

import dagger.hilt.android.AndroidEntryPoint;

@AndroidEntryPoint
public class MainActivity extends AppCompatActivity {

       @Inject
       Car car;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);


       car.startCar();
   }
}
Bijin Abraham
  • 1,709
  • 2
  • 11
  • 25

0 Answers0