【问题标题】:Bundle third-party library in my .aar在我的 .aar 中捆绑第三方库
【发布时间】:2016-07-08 07:03:45
【问题描述】:

我正在构建一个用于音乐流式传输的 Android 库。它具有 ExoPlayer 作为依赖项(顺便说一句,优秀的库!)。

我们将此库用于我们目前也在 Xamarin 中开发的另一个项目。目前,我们需要添加两个库(我的 .aar 和 ExoPlayer 的 .jar)。老实说,这有点烦人,我很想把我的 .aar 放进去,然后去。

那么两个问题:

  1. 有没有办法可以使用 gradle 之类的东西将 ExoPlayer 捆绑到我的 .aar 中? (我是初学者,请彻底)
  2. 我意识到这可能不是最好的做法(依赖关系应该由应用程序管理,等等等等),但实际上我们每次更新 ExoPlayer 和我的 lib 时都会一起测试前者。那么我不应该将 ExoPlayer 捆绑到我的库中是否有充分的理由,或者这样可以吗?

这是我当前的 gradle 文件。不过没有什么令人兴奋的。但是当我将最初的应用程序转换为一个库时,也许有一些奇怪的东西,谁知道......

apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile ('com.google.android.exoplayer:exoplayer:r1.5.6')
    testCompile 'junit:junit:4.12'
    testCompile 'org.mockito:mockito-core:1.10.19'
    compile 'com.android.support:appcompat-v7:23.2.0'
}

【问题讨论】:

标签: android jar android-gradle-plugin exoplayer aar


【解决方案1】:

在解决 this issue 之前没有解决方案,但对于某人来说,一个可行的替代方案是在单击“新建”时使用“导入 .JAR/.AAR 包”单独捆绑 .aar(s)模块”。

这种方法的唯一问题是您一次只能捆绑 1 个 AAR,因此您需要为每个 AAR 创建一个模块。


您也可以尝试使用 Kezong fat aar 库:

https://github.com/kezong/fat-aar-android


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 2015-10-11
    • 2017-06-06
    • 2011-08-10
    • 1970-01-01
    • 2018-12-21
    • 2012-12-19
    相关资源
    最近更新 更多