2014-09-15 3 views
6

घोषित करते समय स्थानीय.प्रोपर्टी फ़ील्ड का उपयोग करें मेरे पास build.gradle और local.properties फ़ाइल है। मैं में उपयोग करने के लिए local.properties में एक मान घोषित करना चाहता हूं, जिसे संस्करण नियंत्रण में चेक नहीं किया गया है।buildConfigField

def getProps(String propName) { 
    def propsFile = rootProject.file('local.properties') 
    if (propsFile.exists()) { 
    def props = new Properties() 
    props.load(new FileInputStream(propsFile)) 
    return props[propName] 
    } else { 
    return ""; 
    } 
} 
अपने buildTypes ब्लॉक में

:

buildTypes { 
    debug { 
     buildConfigField "String", "TEST", local.properties.get("test") 
    } 
} 
+2

आप यहां चोरी करने के लिए कोड पा सकते हैं: http://stackoverflow.com/questions/20562189/sign-apk-without-putting-keystore-info-in-build-gradle/20573171#20573171 –

उत्तर

8

ऐसा लगता है कि प्राप्त किया जा सकता:

buildTypes { 
    debug { 
     buildConfigField "String", "TEST", "test" 
    } 
} 

दुर्भाग्य से, हालांकि, यह एक त्रुटि का कारण बनता है:

मैं buildConfigField के साथ काम किया है :

buildTypes { 
    debug { 
     buildConfigField "String", "TEST", getProps("test") 
    } 
} 
+0

बेहतर फेंकने के लिए बेहतर अपवाद अगर फ़ाइल या प्रोपनाम नहीं मिला है, तो चुपचाप शून्य/खाली स्ट्रिंग को वापस करने के बजाय। –

संबंधित मुद्दे