The team announced the move Tuesday night. The 27-year-old Odor spent last season with the New York Yankees, hitting .202 with 15 home runs and 39 RBI in 102 games.
Odor played seven seasons with the Texas Rangers before joining the Yankees. He's hit just .234 for his career, but he's produced plenty of power for a middle infielder. Odor hit 33 home runs in 2016, 30 the following year and then 30 again in 2019.
Odor was traded from Texas to the Yankees in April, then released by New York a week ago. He has a $12 million salary for 2022, and the Rangers are responsible for all but next year's minimum. Texas is also responsible for a $3 million buyout of his 2023 option.
The current minimum salary is $570,500, but that could change in the next collective bargaining agreement.
The Orioles also announced Tuesday that they'd agreed on 2022 contracts with outfielder Anthony Santander ($3.15 million), left-hander Paul Fry ($850,000) and right-hander Jorge López ($1.5 million), avoiding arbitration. They also sent infielder Richie Martin outright to Triple-A Norfolk and granted right-hander Brooks Kriske his release to pursue an international opportunity.