google / dagger

A fast dependency injector for Android and Java.
https://dagger.dev
Apache License 2.0
17.36k stars 2k forks source link

Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/tt/tt/ui/public/Hilt_PublicFragment #4139

Closed DRius closed 8 months ago

DRius commented 8 months ago

FATAL EXCEPTION: main Process: com.thebaoba.baoba, PID: 27480 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.thebaoba.baoba/com.thebaoba.baoba.ui.MainActivity}: android.view.InflateException: Binary XML file line #21 in com.thebaoba.baoba:layout/activity_main: Binary XML file line #21 in com.thebaoba.baoba:layout/activity_main: Error inflating class fragment at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3846) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4022) 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:2336) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) Caused by: android.view.InflateException: Binary XML file line #21 in com.thebaoba.baoba:layout/activity_main: Binary XML file line #21 in com.thebaoba.baoba:layout/activity_main: Error inflating class fragment Caused by: android.view.InflateException: Binary XML file line #21 in com.thebaoba.baoba:layout/activity_main: Error inflating class fragment Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.thebaoba.baoba.ui.public.PublicFragment: make sure class name exists at androidx.fragment.app.FragmentFactory.loadFragmentClass(FragmentFactory.java:97) at androidx.fragment.app.Fragment.instantiate(Fragment.java:670) at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57) at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:525) at androidx.navigation.fragment.FragmentNavigator.createFragmentTransaction(FragmentNavigator.kt:506) at androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:419) at androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:398) at androidx.navigation.NavGraphNavigator.navigate(NavGraphNavigator.kt:92) at androidx.navigation.NavGraphNavigator.navigate(NavGraphNavigator.kt:58) at androidx.navigation.NavController.navigateInternal(NavController.kt:266) at androidx.navigation.NavController.navigate(NavController.kt:1867) at androidx.navigation.NavController.onGraphCreated(NavController.kt:1283) at androidx.navigation.NavController.setGraph(NavController.kt:1195) at androidx.navigation.NavController.setGraph(NavController.kt:1148) at androidx.navigation.fragment.NavHostFragment$navHostController$2.invoke(NavHostFragment.kt:104) at androidx.navigation.fragment.NavHostFragment$navHostController$2.invoke(NavHostFragment.kt:78) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at androidx.navigation.fragment.NavHostFragment.getNavHostController$navigation_fragment_release(NavHostFragment.kt:78) at androidx.navigation.fragment.NavHostFragment.onCreate(NavHostFragment.kt:150) at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094) at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268) at androidx.fragment.app.FragmentLayoutInflaterFactory.onCreateView(FragmentLayoutInflaterFactory.java:142) at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:136) at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:247) at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:226) 2023-11-11 05:05:46.543 27480-27480 AndroidRuntime com.thebaoba.baoba E at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1067) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:995) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1121) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082) at android.view.LayoutInflater.inflate(LayoutInflater.java:680) at android.view.LayoutInflater.inflate(LayoutInflater.java:532) at com.thebaoba.baoba.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:49) at com.thebaoba.baoba.databinding.ActivityMainBinding.inflate(ActivityMainBinding.java:43) at com.thebaoba.baoba.ui.MainActivity.onCreate(MainActivity.kt:22) at android.app.Activity.performCreate(Activity.java:8207) at android.app.Activity.performCreate(Activity.java:8191) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3819) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4022) 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:2336) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) Caused by: java.lang.ClassNotFoundException: com.thebaoba.baoba.ui.public.PublicFragment at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:454) at androidx.fragment.app.FragmentFactory.loadClass(FragmentFactory.java:53) at androidx.fragment.app.FragmentFactory.loadFragmentClass(FragmentFactory.java:94) ... 50 more Caused by: java.lang.ClassNotFoundException: com.thebaoba.baoba.ui.public.PublicFragment at java.lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738) at java.lang.ClassLoader.loadClass(ClassLoader.java:363) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 54 more Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/thebaoba/baoba/ui/public/Hilt_PublicFragment; ... 54 more Caused by: java.lang.ClassNotFoundException: Didn't find class "com.thebaoba.baoba.ui.public.Hilt_PublicFragment" on path: DexPathList[[zip file "/data/app/F0L6npB60G4s3CjqCbmzhg==/com.thebaoba.baoba-mfB6O8tFdu_Bnkv32AgXSw==/base.apk"],nativeLibraryDirectories=[/data/app/F0L6npB60G4s3CjqCbmzhg==/com.thebaoba.baoba-mfB6O8tFdu_Bnkv32AgXSw==/lib/arm64, /system/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) ... 54 more

DRius commented 8 months ago

plugins { id 'com.android.application' version '8.0.0' apply false id 'com.android.library' version '8.0.0' apply false id 'org.jetbrains.kotlin.android' version '1.8.0' apply false id 'com.google.dagger.hilt.android' version '2.48' apply false id 'androidx.navigation.safeargs' version '2.5.3' apply false }

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

DRius commented 8 months ago

plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' id 'com.google.dagger.hilt.android' id 'androidx.navigation.safeargs.kotlin' }

android { namespace 'com.tt.tt' compileSdk 34

defaultConfig {
    multiDexEnabled true
    applicationId "com.tt.tt"
    minSdk 21
    targetSdk 34
    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_17
    targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
    jvmTarget = '17'
}
buildFeatures {
    viewBinding true
}

}

dependencies {

implementation 'androidx.multidex:multidex:2.0.1'

implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.10.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'

// Lifecycle + ViewModel & LiveData
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.2'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'

// Fragment
implementation "androidx.fragment:fragment-ktx:1.6.2"

// Navigation Component
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.5'

testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'

//lib circle imageview
implementation 'de.hdodenhof:circleimageview:3.1.0'
//lib load imageview with Glide
implementation 'com.github.bumptech.glide:glide:4.13.2'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.12.0'
//pretty screen unit
implementation 'com.intuit.ssp:ssp-android:1.0.5'
implementation 'com.intuit.sdp:sdp-android:1.0.5'

// for adding recyclerview
implementation 'androidx.recyclerview:recyclerview:1.3.2'

// for adding cardview
implementation 'androidx.cardview:cardview:1.0.0'

//paging3
implementation 'androidx.paging:paging-runtime:3.3.0-alpha02'

//
def coroutines_version = "1.7.1"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"

//Injection de dépendances avec Hilt
implementation("com.google.dagger:hilt-android:2.48")
kapt("com.google.dagger:hilt-android-compiler:2.48")

//retrofit call web api
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'

}

// Allow references to generated code kapt { correctErrorTypes = true }

bcorso commented 8 months ago

This is likely a better question for StackOverflow as the issue is typically unrelated to Hilt. See my other answer here: https://github.com/google/dagger/issues/4106#issuecomment-1775947288