У меня есть проект Android, который прекрасно компилируется, когда дело доходит до классов Java, однако, когда я попытался переписать один из этих классов в Kotlin, я получил неразрешенную ссылку ошибку и больше не могу построить проект.
Класс2 расширяет класс1
Структура проекта следующая:
/src
../com
..../package
....../app
......../Class1.java
......../Class2.kt
Class1.java
объявляет пакет com.package.app
и то же самое дляClass2.kt
. По очевидной причине Android Studio жалуется на Пакет не соответствует пути к файлу в файле Java, но неожиданно не жалуется на это в файле Kotlin.
Как я упоминал выше, когда Class2 былнаписано на Java, у меня пакет не соответствует ошибке, но это не мешает мне построить мой apk. Теперь, когда я пытаюсь использовать Kotlin, я больше не могу собрать.
Я попытался установить источник в моем файле Gradle, но это не помогло.
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
kotlin.srcDir "src/com/package/app/"
kotlin.setIncludes(new HashSet(['Class1.java']))
}
}
Та же конфигурация сJava работает отлично (учитывая, что kotlin. * Заменен на java. *)
Во время некоторых исследований я нашел эту тему , которая как-то близка к моей проблеме, но, к сожалению, она не описываеткак это исправить.
Также важно отметить, что Android-студия может правильно ссылаться на расширенный класс.