Я делю свой проект приложения на другие модули и после реализации DI и разделения зависимостей между модулями я получаю следующее исключение:
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/arch/core/util/Cancellable;
at androidx.activity.ComponentActivity.<init>(ComponentActivity.java:69)
at androidx.fragment.app.FragmentActivity.<init>(FragmentActivity.java:118)
at androidx.appcompat.app.AppCompatActivity.<init>(AppCompatActivity.java:77)
Затем я проверяю класс ComponentActivity
и да, указанный класс не может найти класс Cancellable
.
package androidx.activity;
import static android.os.Build.VERSION.SDK_INT;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import androidx.annotation.CallSuper;
import androidx.annotation.ContentView;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.arch.core.util.Cancellable; // <---- This class can't be found!
import androidx.lifecycle.GenericLifecycleObserver;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;
import androidx.lifecycle.ReportFragment;
import androidx.lifecycle.ViewModelStore;
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.savedstate.SavedStateRegistry;
import androidx.savedstate.SavedStateRegistryController;
import androidx.savedstate.SavedStateRegistryOwner;
import java.util.WeakHashMap;
/**
* Base class for activities that enables composition of higher level components. * <p>
* Rather than all functionality being built directly into this class, only the minimal set of
* lower level building blocks are included. Higher level components can then be used as needed * without enforcing a deep Activity class hierarchy or strong coupling between components. */public class ComponentActivity extends androidx.core.app.ComponentActivity implements
LifecycleOwner,
ViewModelStoreOwner,
SavedStateRegistryOwner {
После просмотра пакета я решил добавить эту зависимость:
implementation "androidx.core:core:1.1.0-alpha05"
пока, все равно не получается.
Затем я проверил некоторые вопросы здесь, в StackOverflow, которые рекомендовали использовать Multidex, поэтому я включил Mutlidex в своем файле build.gradle
, но все же, он все еще не работает
Я добавил мультидекс так:
implementation "androidx.multidex:multidex:2.0.0"
build.gradle
defaultConfig {
// Config stuff
multiDexEnabled = true
}
и создание моего Application
класса расширяет класс MultiDexApplication
, но он все равно не работает
Похоже, мне здесь не хватает зависимости, но я не могу ее найти. С