从local.properties加载属性不适用于Gradle Android Studio

时间:2016-07-02 08:53:30

标签: android android-studio gradle android-gradle

我正在尝试包含克隆在我本地系统中的一个Github项目的主分支。该项目与我的项目位于不同的目录中。在尝试将此包含在我的项目中时,我收到以下错误 -

  

错误:未找到名称为“default”的配置。

要包含该项目,我正在执行以下操作 -

应用程序/的build.gradle

compile project(':sugar')

settings.gradle

include ':app'
include ':sugar'

def getLocalProperty(prop) {
    Properties properties = new Properties()
    properties.load(new File(rootDir.absolutePath + '/local.properties').newDataInputStream())
    return properties.getProperty(prop, '')
}

project(':sugar').projectDir = new File(getLocalProperty('sugar.dir'))

local.properties

sugar.dir="/home/jaibatrik/StudioProjects/sugar/library"

注意:效果很好,如果在settings.gradle中,我直接使用

project(':sugar').projectDir = new File("/home/jaibatrik/StudioProjects/sugar/library")

而不是

project(':sugar').projectDir = new File(getLocalProperty('sugar.dir'))

但是,由于我在具有不同操作系统的多个系统中工作,因此有点不方便。

1 个答案:

答案 0 :(得分:0)

感谢您的建议,问题在于local.properties文件中有双引号。编译器将目录的路径视为文件名。

使用

sugar.dir=/home/jaibatrik/StudioProjects/sugar/library

而不是

sugar.dir="/home/jaibatrik/StudioProjects/sugar/library" 

解决了这个问题。