Apollo Android Client - Невозможно получить доступ к сгенерированным классам на пути к классам
Я успешно сгенерировал классы Apollo и вижу их в каталоге сборки, однако они не доступны в пути к классам. Как ни странно, генерируемый Enum доступен, но сами классы - нет.
Выполнение примера проекта, предоставленного на Github от Apollo, действительно работает, но я не вижу разницы между конфигурациями.
Макве ниже.
3 ответа
Прямо сейчас у вас есть src/main/graphql/
содержащие документы GraphQL. Это означает, что ваши классы Java будут созданы без пакета Java, что, вероятно, не то, что вы хотите.
Вместо этого создайте дерево пакетов под src/main/graphql/
(например, src/main/graphql/apollotest/mq/apollotest/api/
). Переместите документы GraphQL и schema.json
там. Очистите проект, и вы должны обнаружить, что ваши сгенерированные Apollo классы доступны вам в любом выбранном вами Java-пакете (например, apollotest.mq.apollotest.api
в приведенном выше примере).
В моем случае я забыл указать имя пакета на уровне приложения.build.gradle
файл
apollo {
// instruct the compiler to generate Kotlin models
generateKotlinModels.set(true)
packageNamesFromFilePaths("com.example.your_package_name")
}
После этого мне не нужно было создавать подпапки внутри.graphql
папка.