Ответ
Для создания библиотеки лучше использовать Application Context, чтобы избежать утечек памяти. Context из Activity может привести к проблемам, если Activity уничтожится, а ссылка на её Context останется.
Пример:
class MyLibrary(private val appContext: Context) {
init {
require(appContext.applicationContext != null) { "Use Application Context!" }
}
}
Если библиотека требует Context для ресурсов/сервисов, принимай его в конструкторе, но всегда проверяй, что это Application Context. Для удобства можно добавить аннотацию @RequiresApi или документацию.