The Ducks also acquired winger Jason King from the Vancouver Canucks in exchange for winger Ryan Shannon.
O'Donnell's deal pays him US$2.5 million over two seasons while Huskins will earn $1.25 million ($600,000 next year and $650,000 in 2008-'09).
O'Donnell, 35, a 12-year NHL veteran, completed his second season with Anaheim, recording two goals and 15 assists in 79 games. He added two assists in 21 playoff games in helping the Ducks win their first NHL title.
Huskins, 27, appeared in 33 games this season with Anaheim, registering three assists. He added an assist in 21 playoff games.
King, 25, played in 55 NHL games with Vancouver between 2002 and 2004. The native of Corner Brook, N.L., had 12 goals and 23 points in those games.
Shannon, 23, split last season between Anaheim and AHL Portland. He had two goals and 11 points in 53 games with the Ducks.