Davis hit three home runs in 74 games for Oakland the past season before he had surgery in August to repair a torn labrum in his left hip. He also missed a month with a left quadriceps strain.
The deal was announced Monday, nine days before the Rangers' first full squad workout in Surprise, Arizona.
Davis had 32 home runs for the New York Mets in 2012. In 659 games over six big league seasons, he has hit .229 with 81 homers and 290 RBIs for the Mets (2010-14), Pirates (2014) and Athletics.
Rangers manager Jeff Banister was the Pirates' bench coach when Davis played in Pittsburgh.