How to merge and dissolve adjacent polygons and sum up their attributes in QGIS?
You should be able to dissolve based on the landcover attribute rather than area.
This will dissolve adjacent polygons which share an attribute.
You can then calculate the area of the polygons in the attribute table using the field calculator.
Thanks to the comment of @Ed Rollason I used the Topology checker to understand where was my problem.
Ok, as I said, my layers overlap. But they overlap like a zipper (one on top of each other). After trying many tools (union, difference, merge, dissolve) without success, I found a video that explains the v.clean tool of the Process Toolbox.
In QGIS 2.12.3, go to Processing > Toolbox > GRASS Commands > Vector. I tried v.clean tool like in the video, but I had some geometry errors. Therefore, I used v.dissolve, tolerance = 1 and afterwards the Dissolve tool for a final clean up of the image.
Regarding the attributes, I have the total area of each class.
Link to the video: https://www.youtube.com/watch?v=t1ChPvsC4bU