Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal


  • Give kudos
  • Received
  • Given


  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

java.lang.NoClassDefFoundError: com_cenqua_clover.CoverageRecorder

i am trying out clover on an android app in eclipse. i have a test app and a main app. when i try to run my function as clover it gives the following error.

junit.framework.AssertionFailedError: Exception in constructor: testDisplay (java.lang.NoClassDefFoundError: com_cenqua_clover.CoverageRecorder
at com.example.hello.test.helloWorldTest.<init>(
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(
at junit.runner.BaseTestRunner.getTest(
at android.test.AndroidTestRunner.getTest(
at android.test.AndroidTestRunner.setTestClassName(
at android.test.suitebuilder.TestSuiteBuilder.addTestClassByName(
at android.test.InstrumentationTestRunner.parseTestClass(
at android.test.InstrumentationTestRunner.parseTestClasses(
at android.test.InstrumentationTestRunner.onCreate(
at android.os.Handler.dispatchMessage(
at android.os.Looper.loop(
at java.lang.reflect.Method.invokeNative(Native Method)
at dalvik.system.NativeStart.main(Native Method)
at android.test.AndroidTestRunner.runTest(
at android.test.AndroidTestRunner.runTest(
at android.test.InstrumentationTestRunner.onStart(

2 answers

Hi Maria,

Please make sure that:

  • you use Clover-for-Android instead of Clover-for-Eclipse
  • you export the "CLOVER_RUNTIME" library (in Project Properties > Java Build Path > Order and Export)


Please read the

You cannot have default value of initstring. You must use "clover+remote:..." URI as described in manual above. You will also have to click "Referesh" button after tests in order to fetch coverage from Androd device (or emulator).

Thank you Marek for your reply. i read through your forums did a clean build and now my clover is atleast showing no error.

But its still not showing any coverage. I am just seeing the pink lines which means no coverage. may be its my initString on both main and test app. both have default value enabled.

if this is incorrect please specify any link which gives more insight on how to configure the initstring for juint tests for android.

ok so i just read through the tutorial. for my main app and the test app the nitString is .clover/coverage.db. This coverage.db is automatically created in the clover folder. In your tutorial it says not to use the same name of the.db file for both app and the test app. Do i need to create a new .db file with a separate name?
i tried to do that by naming it coverage-test.db but it generates an error.

ERROR: A problem was encountered while rendering the report: Clover registry file "C:\Users\marehman\workspace\helloTest\.clover\coverage-test.db" does not exist, cannot be read or is a directory.

Please ensure Clover has instrumented your source files.

You may need to remove existing .class files for this to occur.

please advice.

Do you mean that your initstring is ".clover/coverage.db"? It's necessary to use URI with absolute path; and make sure that "Relative to project dir" toggle is disabled. In your case:


is would be:



okay so I am kind a confused about the InitString Setup. where is this /data/data/com is comming from? can you please specify how this InitString written.

One more question , Does clover works on android without eclipse? like on CLI or something?

Hi Maria,

The initstring format is clearly described on the Clover-for-Android page. Please note that in case of application running on Android you do not copy clover.db to a device (and note that normally Clover requires this clover.db in runtime). So instead of using a simple path for initstring, you have to use URI in order to give Clover more information:

  • clover+remote - tell Clover to use special coverage recorder which does not require presence of clover.db at runtime
  • file:///path/to/clover.db - this is a location of clover.db on your desktop
  • ?localCoverageDir=/path/to/coverage/snapshot/dir - this is a location of coverage data files generated during application run on android device (or emulator); note that typical location where android app stores it's internal data is /data/data/<application name>/


Currently we've got only Eclipse version available. If you believe that support for other tools (or command line) is necessary, feel free to vote on corresponding JIRA issues (link on Clover-for-Android page).

Thank you very much for yours prompt reply. I will get back to you for additional inquires and questions.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Trello

📹 What is a Trello board?

Hi, Atlassian Community! My name is Brittany Joiner and I am a Trello enthusiast and Atlassian Community Leader. I'll be sharing with you a series of videos with my top tips on how to best use Tre...

2 views 0 2
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you