Kotlin模块源未打包在AAR中

我正在用Java构建一个Android库(aar)。 我想向其中添加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')
    ....
}

该模块的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文件中?

Q6246912 回答:Kotlin模块源未打包在AAR中

如果要添加 kotlinModule.aar 文件,则需要在Gradle配置中的 android 标签

中添加一些配置
android {
        repositories {
            flatDir {
                dirs 'libs'
            }
            jcenter()
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
}

此外,在您的Gradle依赖项中添加.aar文件名

dependencies {    
     implementation name: 'kotlinModule',ext: 'aar'        
}
本文链接:https://www.f2er.com/3166891.html

大家都在问