The 34-year-old began his career with Rangers and has also played for Ross County, St Mirren, Blackpool, Liverpool and Stoke City.
Adam told the Dundee website: "This is my club - I used to stand on the terraces so it’s nice now to get on the pitch and play for a club that I love and hopefully be successful. This is a big club and it’s been a tough couple of years but it’s about having that belief."