No transfer fee was disclosed but media reports said it could be up to 13 million euros.
The 24-year-old Gabon international, who has won 33 caps, was the joint second highest scorer in Ligue 1 last season with 19 goals and helped St Etienne chalk up their first top-five finish in six years.
"He is very versatile, has a lot of pace, is a threat in front of goal and will provide us with more options."
Aubameyang, who spent his early days at AC Milan without making a first-team appearance for the Italians, will join up with his new team-mates next week.
Dortmund were beaten 2-1 by fellow Germans Bayern Munich in the Champions League final at Wembley in May.
- Sports & Recreation