2014-11-26 9 views
5

मैं Gradle installDebug नामित कार्य संपादित करना चाहते हैं स्थापित बदलने के लिए। कार्य (या स्क्रिप्ट) कहां स्थित है? शायद यह स्क्रिप्ट बाइनरी कोड में स्थित है और मैं इसे बदल नहीं रहा हूं?कैसे Gradle कार्यों

वास्तव में, मैं adb के लिए चलाने संपादित कुछ विकल्प चाहते हैं। उदाहरण: मेरा कार्य शामिल होना चाहिए: की तरह

  1. भागो एडीबी
  2. रन "debugInstall" gradles "एडीबी 192.168.1.2:5555 कनेक्ट" कार्य, सीधे।
  3. कुछ, पसंद है - एडीबी फिर मेरे एडीबी सर्वर पर खुला apk ..

मुझे क्या करना चाहिए: संपादित debugTask यदि संभव हो तो? या संपादित build.grade और खुद काम स्क्रिप्ट बनाते हैं?

उत्तर

3

सभी कार्य build.gradle स्क्रिप्ट में या स्क्रिप्ट की शुरुआत में लागू प्लगइन में स्थित हैं।

installDebug कार्य के रूप में जहाँ तक मुझे याद एंड्रॉयड प्लगइन के रूप में द्वारा प्रदान की जाती है। प्रत्येक एकल कार्य में क्रियाएं होती हैं जिन्हें अनुक्रमिक रूप से निष्पादित किया जाता है। Here's स्थान शुरू करने के लिए।

आप बढ़ा सकते हैं एक कार्य आंतरिक क्रिया सूची के अंत में शुरुआत में कार्रवाई जोड़ना।

तो:

//this piece of code will run *adb connect* in the background 
installDebug.doFirst { 
    def processBuilder = new ProcessBuilder(['adb', 'connnect', '192.168.1.2:5555']) 
    processBuilder.start() 
} 

installDebug.doLast { 
    //Do something, like - adb then open apk on my adb server.. 
} 

इधर, दो कार्यों के installDebug कार्य जोड़ा गया था। यदि आप gradle installDebug चलाते हैं, तो पहली कार्रवाई चल जाएगी, फिर कार्य स्वयं और आखिरकार दूसरी क्रिया जिसे परिभाषित किया गया है। यह सब सामान्य रूप से है।

+0

एक कार्य में कुछ exec (commandLine) कैसे बनाते हैं? – Andreyua

+0

नहीं, यह संभव नहीं है। आप क्या कर सकते जिस तरह से एक एक मेरा उत्तर में चलाया जाता है में एक स्क्रिप्ट है कि उन सभी आदेशों को क्रियान्वित किया जाएगा कई आदेशों लिख सकते हैं और है कि स्क्रिप्ट चलाने के लिए या चलाने के लिए है। – Opal

2

आप अपने build.gradle करने के लिए एक कार्य जोड़ने, और कमांड लाइन में यह कह सकते हैं। , {
कमांडलाइन 'adb', 'कनेक्ट', '192.168.200.92'
}

तो मैं फोन Gradle adbConnect connectedCheck:

कार्य adbConnect (Exec प्रकार:) यह मैं क्या किया है है लेकिन आप gradle adbConnect debugInstall

+0

धन्यवाद, लेकिन इस के बाद मैं Gradle आदेशों दो बार चलाना चाहिए? एक बार नहीं? – Andreyua

+0

नहीं, आप एक के बाद कई आदेश डाल सकते हैं। एडीबी कनेक्ट करें डीबगइनस्टॉल, adbConnect चलाएगा, फिर डीबग इंस्टॉल करें। मैं कभी-कभी पहले कमांड पर "साफ" जोड़ता हूं। – Gerald