2017-02-18 40 views
0

這是我的項目的build.gradle文件。我正在嘗試動態創建maven url。當我提供註釋的硬編碼字符串時,它工作正常,但是當我給予未註釋的動態字符串時,它會混亂起來。如何在gradle中創建動態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" 
+0

你能提供什麼,你當發生一點點的更多信息運行你的構建?你是什​​麼意思「它搞砸了?」 – LeslieV

回答

0

對於這種特殊的情況下(在Java模塊支持Android庫的依賴),可以使用網頁摘要:

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的搖籃插件類路徑的依賴關係(但不適用它): classpath 'com.android.tools.build:gradle:2.2.3'

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