Я создаю библиотеку, использующую Retrofit2. Когда библиотека используется как модуль (с исходным кодом), Sample работает правильно. Но как только я подключаю эту библиотеку через mylibrary.aar, я получаю эту ошибку.
java.lang.NoClassDefFoundError: Failed resolution of: Lretrofit2/Callback;
Я могу исправить это следующим образом. Добавить библиотеки в проект, который использует мою библиотеку
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.squareup.okhttp3:logging-interceptor:4.7.2'
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
Но я не хочу заставлять пользователей подключать библиотеки. В библиотеке я пытался подключиться разными способами, но мне ничего не помогло.
implementation "com.squareup.retrofit2:retrofit:2.9.0" ...
api ("com.squareup.retrofit2:retrofit:2.9.0") ...
implementation "com.squareup.retrofit2:retrofit:2.9.0" { transitive = true } ...
Есть ли способ использовать MyLib.aar -> (использовать Retrofit), но не повторно подключать библиотеки в проекте, где MyLib .aar используется?