2015-03-01 23 views
6

के लिए एंड्रॉइड स्टूडियो में जैकोको कैसे चला सकता हूं मेरे पास एंड्रॉइड स्टूडियो में पहले से ही डीबग स्वाद है। मेरे ऐप मॉड्यूल के लिए मेरे Gradle कॉन्फ़िग फ़ाइल में शामिल है निम्नलिखित:मैं कोड कवरेज

debug{ 
    testCoverageEnabled true 
} 

तो मैं टर्मिनल में निम्नलिखित कमांड चलाएँ:

gradlew createDebugCoverageReport 

और वास्तव में मैं एक रिपोर्ट लेकिन एप्लिकेशन पढ़ने के साथ दुर्घटनाओं मिल केवल त्रुटि और मैं इसे समझने के लिए प्रतीत नहीं कर सकता। मैं एक मैक का उपयोग कर रहा हूँ। ,

**java.io.FileNotFoundException: /jacoco.exec: open failed: EROFS (Read-only file system)** 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:416) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.io.FileOutputStream.<init>(FileOutputStream.java:88) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.output.FileOutput.openFile(FileOutput.java:67) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.output.FileOutput.startup(FileOutput.java:49) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.Agent.startup(Agent.java:122) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.Agent.getInstance(Agent.java:50) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.Offline.<clinit>(Offline.java:31) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at mypackage.org.duckduck.MainApplication.$jacocoInit(MainApplication.java) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at mypackage.org.duckduck.MainApplication.<clinit>(MainApplication.java) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.Class.newInstanceImpl(Native Method) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.Class.newInstance(Class.java:1319) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.Instrumentation.newApplication(Instrumentation.java:983) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.Instrumentation.newApplication(Instrumentation.java:968) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.LoadedApk.makeApplication(LoadedApk.java:499) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4480) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread.access$1300(ActivityThread.java:146) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:99) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.os.Looper.loop(Looper.java:137) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5168) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:511) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at dalvik.system.NativeStart.main(Native Method) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ Caused by: libcore.io.ErrnoException: open failed: EROFS (Read-only file system) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.Posix.open(Native Method) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:400) 
03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ ... 24 more 

उत्तर

0

मुझे एक यूएसबी डिवाइस पर जैकोको चलाने में एक ही समस्या थी। जीनमोशन का उपयोग इस मुद्दे को हल किया।

0

जब से मैं अपने पूरे Gradle फ़ाइल मुझे यकीन है कि नहीं कर रहा हूँ यदि आप पहले से ही इस सही तरीके से है, लेकिन एक सुझाव स्पष्ट रूप से अगर में प्लग jacoco लागू नहीं है है न: यहाँ स्टैक ट्रेस है आप धीरे-धीरे फ़ाइल में हैं। ग्रैडल का सबसे हालिया संस्करण JaCoCo के साथ पैक किया जाता है।

यह हाल ही में जब तक मैंने उस लाइन के बिना प्रयास किया तो यह मेरे परीक्षण तोड़ रहा था।

एक और बात मैं सिर्फ

gradle connectedCheck

टर्मिनल (Mac) या कमांड प्रॉम्प्ट (विंडोज़) से

चलाया जाता है और यह मेरे लिए एचटीएमएल कोड कवरेज रिपोर्ट बनाता है।

उम्मीद है कि यह भी आपकी समस्या को हल करता है।

+0

यह मेरा मुद्दा नहीं है। मुझे एहसास है कि जैकोको पहले से ही मेरे बिना पालना अद्यतन कर रहा है। क्या आपने एंड्रॉइड स्टूडियो में कोशिश की? – j2emanue

+0

@ मिस्टवाल्कर मैंने देखा कि परीक्षण विफल होने पर एचटीएमएल रिपोर्ट उत्पन्न नहीं होती है, क्या आपके पास एक ही समस्या है? – Johnny

0

यह चेतावनी लगता है अप्रासंगिक:

त्रुटि संदेश चला गया जब बढ़ते जड़ फाइल सिस्टम पढ़ने-लिखने की

mount -o remount,rw rootfs/

, और सिर्फ सभी उपयोगकर्ताओं के लिए लिखने की अनुमति की स्थापना (केवल इस पर करते हैं एक एमुलेटर !!!, यह वास्तव में असुरक्षित है)

chmod 777/

दुर्भाग्य से, मेरी परीक्षण से पहले और बाद टूट गए, इसे बदलने से उन्हें ठीक नहीं किया गया।

तो जब तक कोई वास्तविक समस्या न हो, तो आप केवल इसे ऐसे संदेश के रूप में मान सकते हैं जिसके लिए कोई कार्रवाई की आवश्यकता नहीं है।

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