Brazil-born striker Cacau was dropped from Germany's squad for the European Championship in Poland and Ukraine on Monday.
Cacau struggled in his Bundesliga club Stuttgart and was mostly coming off the bench during the season. He was in the Germany squad at the World Cup in South Africa two years ago.
"It was my great goal to be able to play at the Europeans after being at the World Cup," Cacau said. "It was clear to me from the start that the competition for the 23 slots was going to be very close. I did my best. I am disappointed but I still feel a member of the team and I wish them to play a great tournament."
His absence means Germany travels to the tournament with only two strikers, Mario Gomez and Miroslav Klose. But coach Joachim Loew usually uses only one striker and has several midfielders who can play in an attacking role, including Thomas Mueller, Lucas Podolski, Andre Schuerrle and Marco Reus.
Coach Joachim Loew also cut goalkeeper Marc-Andre ter Stegen and midfielders Sven Bender of Borussia Dortmund and talented teenager Julian Draxler of Schalke. Neither was a surprise.
Draxler was invited to gain some experience and is seen as a future prospect.
Twin brother Lars Bender of Bayer Leverkusen made the cut.
Ter Stegen, of Borussia Moenchengladbach, made his debut in Saturday's 5-3 loss in Switzerland and was always unlikely to be in the 23-man final squad.
Loew spoke to all four players Monday and they were sent home from the team's training base in southern France.
The Germans are seen as one of the favorites for the title after finishing runner-up to Spain four years ago and placing third at the World Cup in South Africa, although the team looks to be in the toughest group at the June 8 to July 1 tournament.
Germany's preparations have been disrupted by the late arrival of many players. Eight Bayern players joined the team late Saturday after requiring time to recover from their Champions League final loss to Chelsea.
Without them, Germany revealed uncharacteristic problems in the loss to Switzerland. But Loew said after the match he was not unduly worried.
Several players have been carrying injuries, including Klose and central defender Per Mertesacker, who had not played for Arsenal since February.
Germany's last warmup match is against Israel on Thursday in Leipzig.
The Germans play Portugal on June 9, the Netherlands on June 13 and Denmark on June 17.