The former Manchester City and Atletico Madrid player, who moved to Barcelona on a free transfer in the summer, had to be substituted during his team's 1-1 draw with Alaves in October after receiving medical assistance on the pitch to treat chest pains and dizziness.
He was taken to hospital for cardiac tests, after which he was ruled out for three months. However, Aguero did not make his return to the field and has now chosen to end his career.
"This press conference is to communicate that I've decided to stop playing soccer. It's a very hard moment but I'm at peace with the decision I made," a tearful Aguero told a gathering at the Camp Nou.
"It's a decision that I made to preserve my health. It's what the doctors said to me, that it would be better to stop playing. I made the decision around 10 days ago. I'm very proud of my career, it was a dream come true. I just wanted to be a professional player and never thought that I would play in Europe," he added.
Aguero finishes his 18-year long career with 427 goals in 786 games. He is also only the fourth-highest scoring player in Premier League history with 184 goals in 275 games, behind only Alan Shearer (260), Wayne Rooney (208) and Andrew Cole (187).