2017-02-18 6 views
0

これは私のプロジェクトのbuild.gradleファイルです。動的にmaven URLを作成しようとしています。私はコメントされたハードコードされた文字列を提供するとき、それはうまく動作しますが、コメントを付けられていない動的文字列を与えると、それはうんざりします。gradleで動的URLを作成する方法は?

foo.classも文字列です。私は何が間違っているのか分かりません。どんな助けもありがとう。

あなたはこのようにスニペットを使用することができ、この特定のケース(JavaモジュールでのAndroidのサポートライブラリの依存関係)については
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

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() 
    } 
} 

あなたは依存関係をクラスパスにアンドロイドのGradleプラグインを追加する必要があります(ただし、適用されません。それ): classpath 'com.android.tools.build:gradle:2.2.3'

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

関連する問題