2016-11-30 5 views
8

मैं यह सत्यापित करने का प्रयास कर रहा हूं कि जब मैं एक तैनाती आदेश निष्पादित करता हूं तो मेरा स्रोत और लक्ष्य पथ ठीक से सेटअप होते हैं।
(से नकल: http://eppz.eu/blog/unity-android-plugin-tutorial-2/)ग्रैडल में, कंसोल/इवेंट लॉग में एक संदेश कैसे मुद्रित करें?

नीचे दिए गए उदाहरण देखें

android.libraryVariants.all { variant -> 
    // Task names. 
    String variantName = "${variant.name.capitalize()}"; // Like 'Debug' 
    String deployTaskGroup = "plugin"; 
    String deployTaskName = "deploy${variantName}PluginArchive"; // Like 'deployDebugPluginArchive' 
    String dependencyTaskName = "assemble${variantName}"; // Like 'assembleDebug' 
    // Source. 
    String sourceAARFolder = "${buildDir.getPath()}/outputs/aar/"; 
    String sourceAARName = "${project.name}-${variant.name}.aar"; 
    // Target. 
    String targetAssetFolder = "Assets/Plugins/My Plugin"; 
    String targetAARFolder = "${rootDir.getPath()}/../../${targetAssetFolder}"; // Navigate into 'Assets' 
    String targetAARName = "My Plugin Android.aar"; // The form you ship your plugin 

    String targetProjDir = System.env.UNITY_PROJECT; // <-- Need to confirm this line! 
    //Log.i(targetProjDir); //??????????? something like this? 

    // Create task. 
    task(deployTaskName, dependsOn: dependencyTaskName, type: Copy) { 
     from(sourceAARFolder) 
     into(targetAARFolder) 
     include(sourceAARName) 
     rename(sourceAARName, targetAARName) 
    }.group = deployTaskGroup; 
} 

वहाँ सांत्वना के कुछ प्रकार, या Android स्टूडियो में ईवेंट लॉग करने के लिए ऊपर targetProjDir स्ट्रिंग चर प्रदर्शित करने के लिए कोई तरीका है (यह मानते हुए क्या यह कंसोल का नाम है)?

+0

मुझे लगता है कि मैंने इसे अभी समझ लिया है, नहीं अब तक 'ग्रैडल कंसोल' सीईओ। एक सरल 'printf "आपका स्ट्रिंग यहाँ ..." 'चाल चल रहा है। – bigp

+0

^कहा जा रहा है, ऐसा लगता है कि जब भी मैं किसी भी 'इकट्ठा ...', 'बिल्ड ...' या 'तैनाती ...' ग्रैडल कमांड चलाता हूं तो यह लगातार दो बार प्रिंट करता है। डुप्लिकेट प्रिंट का कारण क्या हो सकता है? – bigp

+0

'System.out.println (संदेश);' –

उत्तर

8

ग्रैडली लिपियों ग्रोवी भाषा में लिखे गए हैं। अपने स्वयं के संदेशों को कंसोल में लॉग करना संभव है।

अपने Gradle अपनी परियोजना के संस्करण3.2.1 या ऊपर है तो वहाँ मानक आउटपुट में संदेश लिखने के लिए है जो अपने निर्माण फ़ाइल में प्रवेश करने के लिए एक सरल विकल्प है। ग्रैडल मानक आउटपुट में लिखे गए किसी भी चीज को लॉगिंग सिस्टम में रीडायरेक्ट करता है।

उदाहरण

println 'A message which is logged at QUIET level' 

Gradle प्रवेश प्रणाली हमें एकाधिक लॉग स्तर (जीवन चक्र, शांत, जानकारी, डीबग) में संदेश लॉग इन करने के

विस्तृत अध्ययन

के लिए लिंक नीचे के माध्यम से जाने के लिए कृपया अनुमति देता है

https://docs.gradle.org/current/userguide/logging.html

+1

'println' लॉगिंग नहीं करेगा हालांकि लॉगिंग फ्रेमवर्क यह 'System.out.println (स्ट्रिंग)' विधि के लिए एक विधि है। यह हमेशा एक विशिष्ट लॉग स्तर पर मुद्रित नहीं होगा। – JBirdVegas

+0

ग्रोवी में 'println' विधि पर संदर्भ: http://docs.groovy-lang.org/latest/html/api/groovy/lang/Script.html#println() – JBirdVegas

+0

इसे ग्राडल संस्करण 3.2 के रिलीज नोट से लिया गया है .1। मैं अपना उत्तर –

-9
Log.d("TAG", "Your message here"); 
+0

काम नहीं कर रहा है, मुझे यह मिलता है: 'com'android.build.gradle.internal.api.LibraryVariantImpl के प्रकार के लिए अज्ञात संपत्ति' लॉग 'नहीं मिल सका। '। क्या आप 'लॉग' पहचानने के लिए आवश्यक चीज़ों पर अपना उत्तर विस्तृत कर सकते हैं? – bigp

+3

यह 'एंड्रॉइड' में लॉग इन करने के लिए नहीं है 'ग्रैडल'। – JBirdVegas

17

ग्रैडल लॉगिंग ढांचे का उपयोग करता है। आप उस पर संदेश लॉग कर सकते हैं। डिफ़ॉल्ट रूप से, केवल लॉग स्तर lifecycle और ऊपर दिखाए जाते हैं, लेकिन आप debug और info जैसे अन्य स्तरों पर लॉग इन कर सकते हैं।

डिबग स्तर पर लॉग इन करने के (दृश्य gradle --debug या कम का उपयोग कर बनाता है के साथ)

project.logger.debug('my debug message') 

जानकारी स्तर (और gradle --info बनाता है के साथ दिखाई कम) पर लॉग इन करने के

project.logger.info('my info message') 

जीवन चक्र के स्तर पर लॉग इन करने के (डिफ़ॉल्ट रूप से दृश्यमान)

project.logger.lifecycle('my message visible by default') 
+0

यदि आप किसी भी चीज़ को कॉन्फ़िगर किए बिना कुछ लॉग इन करना चाहते हैं तो 'project.logger.lifecycle (' मेरा संदेश डिफ़ॉल्ट रूप से दिखाई देता है ')' @bbirdVegas के रूप में सुझाव दिया गया है। आप * ग्रैडल कंसोल * टैब में लॉग देख सकते हैं। – vovahost

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