【问题标题】:I have to add .aar files as a library in a sub project in Android studio. It gives me an error.我必须在 Android Studio 的子项目中添加 .aar 文件作为库。它给了我一个错误。
【发布时间】:2015-11-04 15:28:37
【问题描述】:

我已将 .aar 文件添加到子项目的 libs 文件夹中。 并将存储库指定为:

repositories {
 mavenCentral()
    mavenLocal()
    flatDir {
        dirs 'libs'
    } 

在这个子项目的 build.gradle 中。 我还需要在主项目的 build.gradle 中添加依赖项吗? 如果是,应该怎么做?

【问题讨论】:

    标签: android android-studio gradle android-gradle-plugin build.gradle


    【解决方案1】:

    在模块的存储库中:app

    repositories {
    
        flatDir {
            dirs 'libs'
        }
    }
    

    在模块的依赖项中添加以下内容:app 如果您同时拥有 JAR 和 AAR 文件,请执行以下操作。

    dependencies 
    {
      implementation (name: '***library name***', ext: 'aar')
      implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'], )
    
    }
    

    【讨论】:

      【解决方案2】:

      你也需要设置依赖:

      compile fileTree(dir: 'libs', include: ['*.jar','*.aar'])
      

      这可以在子项目 build.gradle 中完成。


      编辑:您可能需要指定文件本身:

      compile(name:'name-of-file',ext:'aar')
      

      【讨论】:

      • 做到了。没有帮助。
      • 他的解决方案工作正常,compile fileTree(dir: 'libs', include: ['*.jar','*.aar']) 这会将所有库(*.jar 或 *.aar)链接到您的项目,或者您可以为每个库使用手动链接。如果它不起作用,那是你的错
      【解决方案3】:
      classpath 'com.android.tools.build:gradle:1.3.0'
      
      1. 文件 -> 新建模块 -> 导入 JAR/AAR 包

      2. “文件名”选择.aar文件, 示例:

      d:/myproject/mylib/build/outputs/aar/mylib-release.aar
      1. “子项目名称”,示例:

        mylib 发布
      2. /app/build.gradle

        依赖项{

        编译fileTree(include: ['*.jar'], dir: 'libs')

        编译项目(':mylib-release')

        }

      【讨论】:

        【解决方案4】:

        filename.aar

        repositories {
           flatDir {
                dirs 'libs'
            }
        }
        
        dependencies {
            compile(name:'filename', ext:'aar')
        }
        

        【讨论】:

          【解决方案5】:

          您正在 libs 文件夹中添加一个 aar 文件。
          aar 文件不包含依赖项,那么你必须在主项目中添加这些依赖项。

          在您的 module1/build.gradle 中,您应该有类似的内容:

          dependencies {
              compile fileTree(dir: 'libs', include: ['*.jar'])
              compile('com.android.support:appcompat-v7:22.2.1') //for example
              //..
           }
          

          在您的mainModule/build.gradle 中,您必须添加模块1 使用的所有依赖项。

          dependencies {
                  compile fileTree(dir: 'libs', include: ['*.jar'])
                  compile(name:'fileName',ext:'aar')
                  compile('com.android.support:appcompat-v7:22.2.1') //for example
                  //...
               }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-07-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多