S-K*_*-K' 13 gradle android-studio
如何使用gradle 1.10来使用我的本地maven存储库?当我运行我的gradle脚本时,它总是在寻找工件/Applications/Android Studio.app/sdk/extras/android/m2repository/而不是${HOME}/.m2/repository/
在build.gradle中,我尝试过:
repositories {
mavenCentral()
mavenLocal()
}
Run Code Online (Sandbox Code Playgroud)
并试过这个:
repositories {
mavenCentral()
maven {
url '${HOME}/.m2/repository/'
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个位于我的本地.m2存储库中的依赖项:
dependencies {
compile 'com.android.support:support-v4:20.0.+'
compile 'com.android.support:appcompat-v7:20.0.+'
compile 'com.google.android.gms:play-services:4.0.30'
compile 'com.profferapp:proffer_dto_customer_android:1.0'
compile 'com.test:artifact:1.0' // this is in my .m2 repository
}
Run Code Online (Sandbox Code Playgroud)
这些配置都不指向我的本地maven存储库.
Sco*_*rta 11
如果你想做$ {...}变量替换,你需要使用双引号(")而不是单引号(').双引号表示GStrings,它可以做到这一点,但带单引号的字符串总是按字面解释.
所以:
repositories {
mavenCentral()
maven {
url "${HOME}/.m2/repository/"
}
}
Run Code Online (Sandbox Code Playgroud)
确保将此块放在模块的构建文件中,而不是buildscript顶层构建文件的块中; 后者只决定在哪里找到Android插件,而不是特定于模块的依赖项
由于错误引用的字符串,它可能没有看到您的本地存储库.另外,关于插件隐式在SDK中添加Maven repo的另一个问题也是正确的.这将获得Android支持依赖项.
Gradle Single vs Double Quotes有更多信息和您可以关注的链接.
我想评论斯科特巴塔的答案,但我没有足够的声誉.
所以,我使用的最终解决方案是:
// in the top-level build.gradle:
buildscript {
...
}
allprojects {
repositories {
mavenCentral()
maven { url System.getenv('HOME') + "/.m2/repository/" }
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11729 次 |
| 最近记录: |