【问题标题】:how to create a dynamic url in gradle?如何在 gradle 中创建动态 url?
【发布时间】:2017-02-18 01:37:02
【问题描述】:

这是我项目的 build.gradle 文件。我正在尝试动态创建 maven url。当我提供带注释的硬编码字符串时,它可以正常工作,但是当我提供未注释的动态字符串时,它就搞砸了。

foo.class 也是一个字符串。我不知道这有什么问题。任何帮助将不胜感激。

apply plugin: 'java'

def foo = System.getenv().get("ANDROID_HOME")
//def foo = "/Users/someone/Library/Android/sdk"

repositories {
    jcenter()
    maven { url "$foo/extras/android/m2repository" }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-annotations:25.1.1'
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"

【问题讨论】:

  • 您能否提供更多关于运行构建时会发生什么的信息?你是什​​么意思“它搞砸了?”

标签: android maven gradle android-gradle-plugin


【解决方案1】:

对于这种特殊情况(Java 模块中的 Android 支持库依赖),您可以像这样使用 sn-p:

def logger = new com.android.build.gradle.internal.LoggerWrapper(project.logger)
def sdkHandler = new com.android.build.gradle.internal.SdkHandler(project, logger)
for (File file : sdkHandler.sdkLoader.repositories) {
    repositories.maven {
        url = file.toURI()
    }
}

您必须将 Android Gradle 插件添加到类路径依赖项(但不要应用它): classpath 'com.android.tools.build:gradle:2.2.3'

参考:https://github.com/JakeWharton/butterknife/blob/master/butterknife-compiler/build.gradle

【讨论】:

    猜你喜欢
    • 2015-02-18
    • 2011-10-21
    • 1970-01-01
    • 2011-12-19
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多