Я создал один библиотечный проект, в котором я создал один медиаплеер. Теперь я собираюсь сделать этот Media Player многократно используемым в любом приложении Android, я имею в виду, что я предоставлю файл ".aar" любому разработчику android, затем он / она добавит его в качестве зависимости в Android проекте просто вызывая MediaPlayerActivity в своем коде, они могут использовать его.
Теперь проблема в том, что если я использую этот проект библиотеки мультимедиа в качестве модуля проекта (например, проект реализации (": mymediaplayer") ), то все работает нормально, но когда я создаю ".aar" файл этой библиотеки мультимедиа и пытаюсь использовать его в качестве зависимости (например, реализация (имя: 'mymediaplayer', ext: 'aar') ), тогда Я получаю Runtime "java .lang.NoClassDefFoundError" для класса MediaActivity.class, записанного в той же библиотеке, которую я вызываю из отдельного Android Project.
Ниже приведены инструкции по использованию .aar -
1] Я скопировал файл "mymediaplayer.aar" в папку "libs" моего android проекта.
2] Записанный ниже код в файл build.gradle уровня проекта
allprojects {
repositories {
google()
flatDir {
dirs 'libs'
}
jcenter()
}
}
3] Ниже приведена зависимость в файле build.gradle уровня приложения -
implementation(name: 'mymediaplayer', ext: 'aar')
4] Ниже показано, как я вызываю MediaActivity.class из моего Android проекта -
Intent mediaIntent = new Intent(MainActivity.this, MediaActivity.class); // Getting error on this line
videoIntent.putExtra("VIDEO_URL", "http://xxxxyyyyzzz.mp4");
startActivity(mediaIntent );
5] Результат:
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/my_package/MediaActivity;
Надеюсь, данная информация достаточно, чтобы понять мою проблему, но все же, если вам, ребята, нужно больше подробностей, пожалуйста, дайте мне знать.
Я нашел несколько вопросов, заданных ранее в StackOverflow по той же проблеме, но, к сожалению, ни один из них я не нашел полезным для меня, и поэтому мне нужны предложения от ваших экспертов. Спасибо