当前位置: 首页 > 知识库问答 >
问题:

在my.aar中捆绑第三方库

上官霄
2023-03-14

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

所以两个问题:

  1. 有没有一种方法可以使用gradle和其他东西将ExoPlayer捆绑到我的。aar中?(我是个初学者,请仔细)
  2. 我意识到这可能不是最好的做法(依赖应该由应用程序管理,诸如此类),但实际上,每次更新ExoPlayer和我的lib时,我们都会一起测试前者。那么,我是否有强烈的理由不将ExoPlayer绑定在我的lib中,或者这样可以吗?

这是我现在的gradle档案。不过没什么令人兴奋的。但是当我把最初的应用程序转换成一个lib时,也许有什么奇怪的地方,谁知道呢...

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'
}

共有1个答案

吕作人
2023-03-14

在这个问题得到解决之前,没有解决方案,但对某些人来说,一个可行的替代方案是在单击“New Module”的同时使用“import.jar/.aar包”单独捆绑.aar(s)。

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

另外,您可以尝试使用Kezong fat aar库:

 类似资料:
  • 在感觉自己已经掌握了如何使用OSGi之后,我尝试向我的应用程序添加第三方依赖,特别是log4j2,该应用程序使用ApacheFelix并与maven捆绑插件捆绑。不幸的是,我似乎陷入了依赖地狱。 我尝试过使用许多maven捆绑包策略,如导入包,嵌入依赖,wrapImportPackage,Embed-Transitive,以及设置特定的版本号,仅举几例。以下是我的pom在这个插件中的样子: 我觉得

  • 问题内容: 我才刚刚开始OSGI开发,并且正在努力了解如何最好地处理依赖的JAR。 即,如果我要创建捆绑包,则很有可能需要使用一些第三方JAR。当我创建要部署到OSGI的捆绑软件JAR时,显然不包括这些第三方JAR,因此捆绑软件将无法运行。 我知道一种选择是将这些JAR打包成束,然后将它们部署到OSGI容器中。但是,如果只需要一个捆绑包使用它们,这似乎并不理想。 最好的解决方案是什么?可以将JAR

  • 于是我就开始了实现这些依赖的“兔子洞”。基于maven页面,我将features.xml文件放在一起: 现在,当我尝试安装它时,我得到: 我觉得这可能和equinox vs Felix有关?我只是使用默认的Karaf设置,并使用内置的Netbeans Maven项目创建包,对于OSGI世界来说,我还是比较新的。在大多数情况下,我可以启动和运行bundle,并为一个应用程序建立了一个基本的集合,但这

  • “2”->com.android.support:support-v4:25.1.1 “3”->com.google.android.gms:play-services-位置:10.2.0 “4”->com.google.android.gms:play-services-gcm:10.2.0 在这个场景中,如果我需要创建绑定dll来包装依赖于其他3个AAR的父AAR: 我是否应该(A)创建4个绑

  • 第二个编辑:在tsconfig.json的中添加之后,删除了导入和导出语句。不幸的是,这消除了我以前所做的改变的影响。我在中设置,以解决添加到所有文件顶部的问题。

  • 有些人类的工作需要伪装起来。有时候伪装的目的是欺骗,但更多的时候,伪装的目的是 为了在更深层次做一些真实的通讯。比如,许多面试官希望你能穿西服打领带以表示你对 工作是认真的,即使你们俩都知道你可能在工作的时候永远不会打领带。你思考这件事的 时候可能会觉得很奇怪:在你脖子上系一块布会神奇地帮你找到工作。在 Perl 文化里, tie 操作符起到类似的作用的角色:它让你创建一个看起来象普通变量的变量,