Gradle Plugin 3.0.1 AAR传递依赖缺失

时间:2017-11-24 12:02:13

标签: android firebase android-gradle aar

我希望在库(AAR)中使用Firebase Analytics。使用Android Gradle Plugin 3.0.1和Gradle 4.1。我已将firebase依赖项包含在api中,但是,当打包到AAR中时,缺少依赖项,并且它在运行时在使用应用程序中崩溃(它不是'模块'在该申请中)。此崩溃是由于java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.analytics.FirebaseAnalytics"例外造成的。

图书馆模块:build.gradle

dependencies {
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.squareup.okhttp3:okhttp:3.9.0'
    implementation "com.android.support:support-annotations:$supportLibraryVersion"
    implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
    api 'com.google.firebase:firebase-core:11.6.0'
}

我可以通过在消费应用程序中包含implementation "<firebase>"行来解决这个问题,但是,我理解api会向消费者公开作为传递依赖。

我不想强制消费者应用程序实施Firebase,并且在未设置google-play-services.json文件,插件和app/build.gradle更改时它可以正常运行(前提是我拥有消费者的实施线。)

使用库模块中的implementation <firebase>api <firebase>,在同一个项目中,应用程序包含它:implementation project(':mylib')它运行正常,它只是在使用AAR时问题出现了。

另外请注意,创建AAR的模块包含本机代码。

0 个答案:

没有答案