如何在Android Studio上引用库?

时间:2014-08-19 23:30:26

标签: android compilation gradle android-studio

我正在尝试构建一个Xposed module,但我仍然坚持引用该库。

库位于app / lib中,因为libs中的库未被引用,我的build.gradle看起来像这样:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

configurations {
    provided
}

dependencies {
    provided 'lib/XposedBridgeApi-54.jar'
}

sourceSets {
    main {
        compileClasspath += configurations.provided
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

我收到此错误:

Error:(20, 0) The description lib/XposedBridgeApi-54.jar is invalid

看起来它无法找到库,因为如果我尝试将名称更改为不存在的内容,则会产生相同的错误。 我试过了:

provided 'XposedBridgeApi-54.jar'
provided 'lib/XposedBridgeApi-54.jar'
provided 'app/lib/XposedBridgeApi-54.jar'

首先将库放在根文件夹中,没有任何作用。

这就是目录结构的外观(不能发布图片):

i.stack.imgur.com/jmN3B.png

Official documentation说使用:

dependencies {
    compile project(':libraries:lib1')
}

但我不知道如何使用这种格式。

1 个答案:

答案 0 :(得分:2)

我找到了检查其他github存储库的解决方案,看起来大多数人都不使用Android Studio。

关键是不要在projectName / build.gradle上添加任何内容,而是在projectName / app / src / build.gradle的末尾添加

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    provided files('lib/XposedBridgeApi-54.jar')
}

记得不要把它放在libs上

Reference