The decisions were announced by Confederation of African Football (CAF) president Issa Hayatou at the African Union (AU) headquarters in the Ethiopian capital.
Algeria and Zambia were the other contenders to stage the biennial showcase of African football.
Cameroon (1972) and Ivory Coast (1984) previously hosted the Cup of Nations when it was an eight-nation tournament.
Guinea, who seemed the outsiders among the five candidates, will be staging the 16-team, three-week championship for the first time.
The outcome of voting among the 14-man CAF executive committee led by Hayatou took many by surprise as Algeria and Zambia appeared strong contenders.
However, there could be a silver lining for one of them as the 2017 hosts will be named next year after an unstable security situation forced Libya to withdraw last month.
Algerian officials have said they are ready to replace Libya, and Zambia have until September 30 to make a bid.
Morocco will stage the 2015 Cup of Nations between January 17 and February 8 in four cities, including capital Rabat.
The tournament has grown enormously during its 57-year history from a three-nation event in Sudan to a 16-nation spectacular in South Africa last year watched by a global TV audience.