2015-06-19 2 views
4

В моем проекте есть папка с файлом хранилища ключей (file.keystore). Это структура:Относительный путь в build.gradle отличается от Windows и OS X

+---.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' 
    } 

В окнах все правильно, потому что он ищет в:

/проекта/хранилища ключей/файла .keystore

Но в OS X она ищет в:

/проект/приложение/хранилища ключей/ц le.keystore

Как мне закодировать в build.gradle?

+3

вы пробовали 'storeFile файл (rootProject.projectDir.absolutePath + '\\ \\ file.keystore хранилище ключей')'? –

+3

Попробуйте файл хранилища ('../ keystore/file.keystore') –

ответ

7

Попробуйте

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

Я думаю, что это было слишком поздно. Но, возможно, это поможет кому-то иметь такую ​​же проблему.

+0

* Что * слишком поздно? –

3

Использование groovy String Interpolation $rootDir Недвижимость.

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

обратите внимание, что она использует "двойные кавычки"

Смежные вопросы