2017-02-09 5 views
5

मेरे पास मेरे एप्लिकेशन के 2 बिल्ड प्रकार हैं: डीबग और रिलीज़ करें।क्या "testbuildType" एंड्रॉइड प्रोजेक्ट की build.gradle फ़ाइल में सशर्त हो सकता है?

मैं दोनों प्रकार के निर्माण पर परीक्षण निष्पादित करना चाहता हूं।

लेकिन वर्तमान में केवल एक बिल्ड प्रकार का परीक्षण किया जाता है। डिफ़ॉल्ट रूप से यह डिबग बिल्ड प्रकार है, लेकिन इस के साथ पुन: कॉन्फ़िगर किया जा सकता है: एंड्रॉयड { ... testBuildType "रिलीज" }

मैं निष्पादित करने के लिए चाहते हैं connectedDebugAndroidTest और connectedReleaseAndroidTest एक के बाद दोनों एक के बिना धीरे-धीरे फ़ाइल बदलना।

क्या "testBuildType" सशर्त बनाना संभव है? ताकि ग्रेडल कार्य में निर्मित संस्करण के अनुसार (कनेक्ट किया गया DebugAndroidTest और ConnectReleaseAndroidTest), यह उस निर्माण पर परीक्षण निष्पादित करेगा।

+0

कृपया मेरा अद्यतन उत्तर जांचें। – Shailesh

उत्तर

2

मुझे यकीन नहीं है लेकिन यह मेरे लिए काम किया गया है। यदि आप ऐप में बिल्डिंग वैरिएबल (डीबग और रिलीज़) के अनुसार कोड निष्पादित करना चाहते हैं तो आप निम्न कोड का उपयोग करके कर सकते हैं।

यह गतिविधि जावा फ़ाइल के लिए है।

public void printMessage() 
{ 
    if (BuildConfig.DEBUG) 
    { 
     //App is in debug mode 
    } 
    else 
    { 
     //App is released 
    } 
} 

आप build.gradle फ़ाइल में जाँच करना चाहते हैं तो कोड का पालन करते हुए करते हैं।

सबसे पहले जिस तरह से

buildTypes { 
    debug { 
     buildConfigField "String", "SERVER_URL", '"http://test.this-is-so-fake.com"' 
    } 

    release { 
     buildConfigField "String", "SERVER_URL", '"http://prod.this-is-so-fake.com"' 
    } 

    mezzanine.initWith(buildTypes.release) 

    mezzanine { 
     buildConfigField "String", "SERVER_URL", '"http://stage.this-is-so-fake.com"' 
    } 
} 

दूसरा रास्ता

android { 
    testBuildType obtainTestBuildType() 
} 

def obtainTestBuildType() { 
    def result = "debug"; 

    if (project.hasProperty("testBuildType")) { 
     result = project.getProperties().get("testBuildType") 
    } 

    result 
} 

विस्तार के लिए this, this और this stackoverflow जवाब देखें।

मुझे आशा है कि आपको अपना समाधान मिल जाएगा।

+0

हैंक्स लेकिन मैं जावा कोड में नहीं, gradle फ़ाइल में जांचना चाहता हूं। मैंने उस लिंक को चेक किया लेकिन इन ग्रेडल कार्यों के लिए काम नहीं किया। –

+0

आपकी मदद के लिए धन्यवाद। Http://stackoverflow.com/questions/21754713/android-gradle-task-connectedinstrumenttest-for-release-build –

+0

से मेरा समाधान मिला – Shailesh

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