проблема с кинжалом 2 android (java .lang.ExceptionInInitializerError) - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь использовать Dagger 2, я не знаю, почему я получаю ошибку, но я думаю, что это для метода stati c в моем классе приложения!

основной класс

 public class MainActivity extends AppCompatActivity {

     @Inject
     public Picasso picasso;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         App.getComponent().injector(this);
         setContentView(R.layout.activity_main);
         ButterKnife.bind(this);
     }

Класс приложения (G), возможно, проблема в этом классе:

public class App extends Application {

    static ApplicationComponent component;

    @Override
    public void onCreate() {
        super.onCreate();

      component = DaggerApplicationComponent.builder()
                .picassoModule(new PicassoModule(this))
                .build();
    }
    public static ApplicationComponent getComponent() {
        return component;
    }

}

мой код интерфейса компонента:

@Component(modules = PicassoModule.class)
public interface ApplicationComponent {

    void injector(MainActivity mainActivity);
}

мой класс модуля

@Module
public class PicassoModule {

    private Context context;

    public PicassoModule(Context context) {
        this.context = context;
    }
    @Provides
    public Picasso picasso(){
        return new  Picasso.Builder(context)
                .build();
    }

}

Error screen

1 Ответ

0 голосов
/ 09 января 2020

На скриншоте есть ошибка от OkHttp, которая говорит, что ожидаемый API 21+, но был 19.

Так что, вероятно, Dagger здесь не виноват

...