kapt не разрешает генерируемые протобуфом классы

Я получаю такую ​​ошибку во время сборки:

e: /Users/some/path/SomeClass.java:86: error: cannot find symbol e: e: static ConnectionType getConnectionType(Context context) { e: ^ e: symbol: class ConnectionType e: location: class SomeClass 

Где ConnectionType – это класс, сгенерированный protobuf. Таким образом, похоже, что kapt не разрешает сгенерированные классы.

Что я пробовал?

Сначала я добавил kotlin-apt :

 apply plugin: 'kotlin-kapt' 

Затем я добавил классы, созданные с помощью brotobuf, в исходный набор:

 sourceSets { main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'build/generated/source/proto/main/java' } 

А также я хочу создать классы, прежде чем kapt начнет работу. Поэтому я заказываю такие задачи:

 afterEvaluate { def protoTasks = [] tasks.each { task -> if (task.name.contains('proto') || task.name.contains('Proto')) { protoTasks.push(task) } } tasks.each { task -> if (task.name.startsWith('kapt')) { task.dependsOn protoTasks } } } 

Но все это не помогает, у меня все еще такая же ошибка. Как его решить?

    Ошибка была вызвана неправильным путем к исходному набору protobuf. Мне пришлось использовать в нем правильное название аромата, например:

     sourceSets { // ... main.java.srcDirs += 'build/generated/source/proto/flavor/java' } 

    вместо

     sourceSets { // ... main.java.srcDirs += 'build/generated/source/proto/main/java' } 
    Intereting Posts
    Как скрыть навигационную панель андроида или квадратную кнопку в навигационной панели android.view.InflateException: двоичная строка XML-файла # 0: ошибка раздувания класса android.support.design.widget.TextInputEditText Применение преобразования к каждому элементу в Single <List <T >> Добавление сабвуфера в textView в Anko Как указать «собственный тип» в качестве возвращаемого типа в Котлине Как получить Flowable <List <Foo >> из объекта «Bar» с отношениями «один ко многим» «Foo» с использованием realm и Rxjava Почему этот способ случайного создания графика несправедлив? Как получить заголовки ответов с RxAndroid + Retrofit в Kotlin? Разрешение конфигурации «debugCompile» напрямую запрещено Как сбросить FrameLayout или удалить кеш макета Не поставлять достаточное количество данных в HAL, ожидаемое положение Котлин объясняет мне, что касается полей подкачки Kotlin: Как изменить значение в паре? Почему моя установка RxJava блокирует мой поток пользовательского интерфейса? Работа с обратным вызовом BluetoothAdapter.startLeScan RuntimeException: не удалось создать экземпляр активности ComponentInfo … ClassNotFoundException