build.gradle中的相对路径因Windows和OS X而异

时间:2015-06-19 12:47:07

标签: android android-gradle

我的项目有一个包含密钥库文件的文件夹(file.keystore)。这是结构:

+---.gradle
|   \---2.2
|       \---taskArtifacts
+---.idea
|   +---copyright
|   \---libraries
+---app
|   +---build
|   |   +---generated
|   +---libs
|   \---src
|       +---androidTest
|       \---main
+---build
|   \---intermediates
|       \---dex-cache
+---gradle
|   \---wrapper
\---keystore

要在build.gradle中使用它,我使用:

signingConfigs {
    project {
        keyAlias 'project'
        keyPassword 'blabla'
        storeFile file('keystore\\file.keystore')
        storePassword 'blabla'
    }

在Windows中,一切都是正确的,因为它搜索:

/project/keystore/file.keystore

但是在OS X中它正在搜索:

/project/app/keystore/file.keystore

我应该如何在build.gradle中编码?

3 个答案:

答案 0 :(得分:17)

尝试

project {
    keyAlias 'project'
    keyPassword 'blabla'
    storeFile file('../keystore/file.keystore')
    storePassword 'blabla'
}

我认为为时已晚。但也许这会帮助某些人遇到同样的问题。

答案 1 :(得分:11)

使用groovy String Interpolation $rootDir属性。

project {
   ...     
   storeFile file("$rootDir\keystore\file.keystore")
   ...
}

请注意,它使用"双引号"

答案 2 :(得分:0)

Linh Nguyen Vu 是对的! 低于测试!关键字已解决: Testing the Solution