2014-04-30 4 views
43

अद्यतन अक्टू 21 2014: buildtools का उपयोग करके निर्धारित मुद्दा पुष्टि की गई है 21.Jacoco Gradle 0.10.0 साथ: रिमोट ऑब्जेक्ट मौजूद नहीं है

अद्यतन सेप्ट 18 2014: issue's status को FutureRelease पर अपडेट किया गया है।

अद्यतन: मैंने सुना है कि इस डैगर के साथ काम नहीं कर सकते हैं और के बाद से एस्प्रेसो डैगर का उपयोग करता है, यह कुछ समस्या आ रही हो सकता है। ग्रैडल टीम में bug was submitted


Google ने हाल ही में अपने Gradle implementation to 0.10.0 को अपडेट किया। वे जो चीजें अब पेश करते हैं उनमें से एक जैकोको समर्थन है। ऐसा करने के लिए, वे निम्नलिखित को सेट करने का उल्लेख करते हैं:

testCoverageEnabled = true 

आपके निर्माण प्रकार में। अब जब मैं अपने एस्प्रेसो परीक्षण (connectedCheck का प्रयोग करके) चलाने के लिए, मैं कोई त्रुटि मिलती है मैं :connectedAndroidTest कार्य जो यह बताता है चलाने के लिए शुरू अधिकार के रूप में:

:

Tests on HTC One - 4.2.2 - API 17 - 1080x1920 - 4.2.2 failed: Instrumentation run failed due to 'java.lang.VerifyError' 
01:38:31 E/Device: Error during Sync: Remote object doesn't exist! 
null 
java.io.IOException: com.android.ddmlib.SyncException: Remote object doesn't exist! 
at com.android.builder.testing.ConnectedDevice.pullFile(ConnectedDevice.java:114) 
at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:158) 
at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:42) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: com.android.ddmlib.SyncException: Remote object doesn't exist! 
at com.android.ddmlib.SyncService.pullFile(SyncService.java:314) 
at com.android.ddmlib.Device.pullFile(Device.java:849) 
at com.android.builder.testing.ConnectedDevice.pullFile(ConnectedDevice.java:107) 
... 8 more 
:connectedAndroidTest FAILED 

यहाँ भागों मैं build.gradle फ़ाइल में बदल गया है कर रहे हैं

buildscript { 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.10.+' 
     ... 
    } 
    ... 
} 

android { 
    buildTypes { 
     debug { 
      testCoverageEnabled = true 
      ... 
     } 
     .... 
    } 
    ... 
} 

क्या कोई अन्य टुकड़ा build.gradle फ़ाइल है जिसे मुझे जैकोको काम करने के लिए अद्यतन करने की आवश्यकता है?

त्रुटि का उल्लेख है कि एक "दूरस्थ वस्तु" मौजूद नहीं है। आम तौर पर मैं इसे एमुलेटर को सिंक से बाहर करने के लिए विशेषता देता हूं और पुनरारंभ करना इसे ठीक करेगा। लेकिन मैंने कोशिश की है और यह भी काम नहीं किया है। कोई विचार क्या त्रुटि मुझे बताने की कोशिश कर रहा है?

+0

मैं एक ही सटीक मुद्दा (डैगर या एस्प्रेसो का उपयोग नहीं) में चल रहा हूँ। परीक्षण वास्तविक डिवाइस पर चलते हैं (नेक्सस 4, 4.3.1)। मैं लॉग इन में CoverageTransformer (JaCoCo एजेंट का हिस्सा) के लिए ClassNotFoundException देख रहा हूं .. – friederbluemle

+0

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

+0

यह मेरा पहला विचार भी था, लेकिन मैंने रूट डिवाइस का उपयोग किया और रूट मोड 'adb root' में एडीबी को पुनरारंभ किया, फिर भी वही त्रुटि देखी गई। – friederbluemle

उत्तर

1

यह एक प्रयास करें ...

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.13.0' 
    } 
} 

repositories { 
    mavenCentral() 
} 
apply plugin: 'com.android.application' 
apply plugin: 'jacoco' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.1" // Must Require 

    defaultConfig { 
     applicationId "com.packagename" <Change it> 
     minSdkVersion 11 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 

    } 

    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/services/javax.annotation.processing.Processor' 
    } 

    lintOptions { 
     abortOnError false 
    } 

    buildTypes { 
     debug { 
      testCoverageEnabled true 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

jacoco { 
    toolVersion = "0.7.1.201405082137" 
} 
संबंधित मुद्दे