【问题标题】:How do I reference a library on Android Studio?如何在 Android Studio 上引用库?
【发布时间】:2014-08-19 23:30:26
【问题描述】:

我正在尝试构建一个 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')
}

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

【问题讨论】:

  • 我使用以下说明解决了:github 它添加 xposed 库作为 sdk 插件,然后我需要更改 sdk 目标,但我仍然想知道是否有另一种方法来引用库。

标签: android compilation gradle android-studio


【解决方案1】:

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

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

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

记住不要把它放在库中

Reference

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 2015-08-06
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多