Исходники модуля Kotlin не упакованы в aar - PullRequest
0 голосов
/ 04 ноября 2019

Я создаю библиотеку Android (aar) на Java. Я хочу добавить модуль Kotlin к нему. Он прекрасно работает при разработке, но исходные коды модуля отсутствуют в файле .aar, поэтому он разбивается во время выполнения в приложении с FileNotFoundException.

Основной модуль build.gradle выглядит следующим образом:

apply plugin: "com.android.library"
apply plugin: "com.jfrog.artifactory"
apply plugin: "maven-publish"

...

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    implementation project(':kotlinModule')
    ....
}

Thre build.gradle модуля:

apply plugin: 'java-library'
apply plugin: 'kotlin'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

sourceCompatibility = "7"
targetCompatibility = "7"

Я пытался добавить набор источников, но, очевидно, вы не можете добавить наборы источников вне папки вашего модуля. Я попытался скопировать файл kotlinModule.jar в папку libs, но затем мне нужно пересобирать каждый раз, когда я изменяю модуль. Как сделать так, чтобы исходники модуля были упакованы в файл .aar?

1 Ответ

0 голосов
/ 04 ноября 2019

Если вы хотите добавить файл kotlinModule.aar , вам нужно добавить некоторую конфигурацию в конфигурацию Gradle внутри тега android

android {
        repositories {
            flatDir {
                dirs 'libs'
            }
            jcenter()
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
}

Кроме того, добавьте ваше имя файла .aar в зависимости от Gradle

dependencies {    
     implementation name: 'kotlinModule', ext: 'aar'        
}
...