NoSuchMethodError: нет метода stati c create [Android] [Dagger] - PullRequest
0 голосов
/ 28 марта 2020

У меня есть несколько небольших android библиотек, созданных для модуляции кода приложения. Одна из этих библиотек ( libraryA ) имеет некоторые действия, которые упомянуты в AndroidManifest.xml библиотеки. Проблема, с которой я сталкиваюсь, заключается в том, что когда я отправляю SDK, который построен поверх libraryA , я получаю код всех действий, поставляемых с libraryA , даже после запуска proguard , Это очевидно, потому что так работает proguard. Но я хочу, чтобы только действия из libraryA , которые родительское приложение хотело использовать, были отправлены с последним apk.

Для достижения вышеуказанного поведения я удалил объявление активности из файла манифеста libraryA и добавление необходимых действий из libraryA в файл манифеста app. Я также использую Dagger для построения графа зависимостей. Когда я запускаю свое приложение после внесения этого изменения, приложение вылетает со следующим исключением, которое, похоже, является сгенерированной Dagger проблемой.

2020-03-28 11:28:50.081 20177-20177/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: <mypackage>, PID: 20177
    java.lang.NoSuchMethodError: No static method create(Ljavax/inject/Provider;Ljavax/inject/Provider;Ljavax/inject/Provider;Ljavax/inject/Provider;Ljavax/inject/Provider;Ljavax/inject/Provider;Ljavax/inject/Provider;)Ldagger/MembersInjector; in class Lin/apollo/android/ui/activity/MyMovedActivity_MembersInjector; or its super classes (declaration of 'in.apollo.android.ui.activity.MyMovedActivity_MembersInjector' appears in /data/app/<mypackage>-JGH6hd6Acb-8dr0QvrxKWA==/base.apk!classes5.dex)
        at in.apollo.android.di.DaggerApolloApplicationComponent$PinComponentImpl.initialize(DaggerApolloApplicationComponent.java:3267)
        at in.apollo.android.di.DaggerApolloApplicationComponent$PinComponentImpl.<init>(DaggerApolloApplicationComponent.java:3211)
        at in.apollo.android.di.DaggerApolloApplicationComponent$PinComponentImpl.<init>(DaggerApolloApplicationComponent.java:3187)
        at in.apollo.android.di.DaggerApolloApplicationComponent.pinComponent(DaggerApolloApplicationComponent.java:2650)
        at in.apollo.android.FinderApplication.onCreate(FinderApplication.java:167)
        at in.apollo.android.ApolloApplication.initializeSdk(ApolloApplication.java:264)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6852)
        at android.app.ActivityThread.access$1300(ActivityThread.java:268)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1982)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:7807)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1047)

Есть идеи, почему это может происходить и как мы можем решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...