None of the renderings of OpenStreetMap that I could find indicate the road surface in any way, even though this is a really relevant factor when choosing which roads to cycle on.
Is there any map that renders the road surface, specifically whether a road is made of cobble stone?
Yes, it can do so. But the default.render.xml shows that cobblestone, concrete, sett, pebbles, and some more are shown in the same color. In order to show cobblestone differently, you have to create your own rendering style overwriting the renderingAttribute “surfaceCobblestoneColor”.
Thank you all for this thread - I’ve got the same question myself. The routing file by Pieter Vander Vennet indeed added an option to avoid cobblestone roads. However the question of the OP remains open about how to see these roads within OSMAND. Hence I made an updated render file for that, feel free to use if anybody needs it. I used the Touring view as I like it for bicycle but you can apply the same changes in other render styles. My updates are at the bottom of the file.
The file needs to be placed in storage\Android\data\net.osmand**.plus**\files\rendering\ where “storage” is the corresponding storage in your phone and “.plus” to be skipped in case of free version of OSMAND.
Bear in mind the content of \rendering folder is deleted each time OSMAND is updated, so you will need to place the file there again. Hence it’s a good idea to keep a copy of the rendering file somewhere else on your device.