Почему папка tmp \ kotlin-classes пуста и путь не найден на этапе компиляции сборки модуля kotlin в Android Studio? - PullRequest
0 голосов
/ 03 июля 2018

Модуль (не основное приложение) не будет собран, поскольку он не проходит этот шаг:

: compileDebugKotlin

СООБЩЕНИЯ ОБ ОШИБКАХ : e: java.lang.IllegalStateException: Backend Внутренняя ошибка: исключение при генерации кода

Причина: [путь-удаленный-для-SO-post] \ message-classes \ build \ tmp \ kotlin-classes \ debug \ com [путь-удаленный-для-SO-post] \ ble \ aux \ AlarmResponseTypes. класс (система не может найти указанный путь)

Файл, скомпилированный в позиции: file: // [путь-удаленный-для-SO-post] / сообщения-классы / src / main / java / com / [путь-удаленный-для-SO-post] / ble /_aux/AlarmResponseTypes.kt


Имеет ли это какое-либо отношение к "_aux" в пути src против "aux" в пути сборки?

Когда я смотрю в папку tmp \ kotlin-classes, она пуста. Остальная часть родительского пути к диску C, который я удалил для этого поста, верна. Даже когда я пытаюсь указать путь к папке, она удаляется, как только начинается сборка.

То, что я пробовал много раз :

Очистить - восстановить - перезапустить и т. Д.
Отменить - перезапустить и т. Д.
Обновлен плагин kotlin, Android Studio, версии Gradle и т. Д.
Только сборка этого модуля, а не всего приложения.

Всегда возвращается к одной и той же ошибке.

И, он собирался правильно (хотя я не запускал и не встраивал в файл apk после этого) перед обновлением плагина kotlin - но не уверен, что это как-то связано с ним.

Версии и т. Д. :

AS - 3.1.3
kotlin_version = '1.2.50'

реализация "org.jetbrains.kotlin: kotlin-stdlib-jdk7: $ kotlin_version"


Полная сборка. Gradle:

apply plugin: 'com.android.library'  
apply plugin: 'kotlin-android'  
apply plugin: 'kotlin-android-extensions'

android {  
    compileSdkVersion 27  
    defaultConfig {  
        minSdkVersion 23  
        targetSdkVersion 27  
        versionCode 1  
        versionName "1.0"  
        testInstrumentationRunner  
 "android.support.test.runner.AndroidJUnitRunner"  
    }  
    buildTypes {  
        release {  
            minifyEnabled false  
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
        }  
    }  
    // project configuration  
    sourceSets {  
        androidTest.java.srcDirs += 'src/androidTest/kotlin'  
    }  
}

dependencies {  
    implementation fileTree(include: ['*.jar'], dir: 'libs')  
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"  
    testImplementation 'junit:junit:4.12'  
    androidTestImplementation 'com.android.support.test:runner:1.0.1'  
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'  
}

1 Ответ

0 голосов
/ 08 июля 2018

решено: Windows не допускает имя папки «aux» (это устаревшее зарезервированное слово) ...

Следовательно, модули кода, которые работали на Mac, не могли быть собраны, когда были включены в другой проект на компьютере с Windows, который я использовал.

Как только папка помещается в файловую систему Windows с помощью распаковки и т. Д. С именем «aux», Windows автоматически меняет имя папки на «_aux» без указания пользователь.

...