The Rio de Janeiro club said in a statement that the 30-year-old, who left Corinthians in March after failing to get match fit, had been given a contract until the end of the season and that it would be based on "productivity".
Once known as the Emperor, Adriano's career reached its height in 2004-05 when he was at Inter and was also top scorer for Brazil at the 2004 Copa America in Peru and the Confederations Cup in Germany the following year.
After that, he had a disappointing World Cup with Brazil in 2006 and his career has been going steadily downhill since.
Adriano - who has been beset by drinking, depression and weight problems in recent years - made only seven appearances in his one-year stint at Corinthians, scoring two goals.
Although his progress was interrupted by an Achilles tendon injury, Adriano was given several chances to lose weight amid reports that he had passed the 100-kilogramme mark.
The club eventually lost patience when he missed training in March and he refused to let the club doctor weigh him. His departure, officially by mutual consent, signalled what many thought could be the end of his career.
Flamengo, who earlier this year parted company with Adriano's former Brazil team mate Ronaldinho after he suffered a loss of form, have a soft spot for the player who was raised at the club and played there in 2009-10.
Adriano was the Brazilian championship's joint top scorer in 2009 with 19 goals as he helped Flamengo win the competition that year.
"I'm going to honour this shirt, which has always been mine, with a lot of goals," promised Adriano, who has also played for Fiorentina, Parma, Sao Paulo and AS Roma.
"Thank you for everything. You can count on me."