The 22-year-old Northern Ireland international, who can also operate in defence, has been employed in a number of roles during his time at the club but says he is now looking forward to cementing his position in attack next season.
"I have never hidden my desire to remain at Aberdeen so I am delighted to put pen to paper on a contract extension," he told the club's official website.
"It is a great club, with a unique set of fans and I hope next season I can repay the faith shown in me by everyone associated with Aberdeen FC. The squad is already looking forward to the season kicking off and I am certainly determined to play my part in bringing success back to Aberdeen."
Dons boss Derek McInnes has already released seven out-of-contract players and told another two former regulars that they are free to find new clubs as he begins his Pittodrie clear-out.
Rory Fallon, Mitch Megginson, Rob Milsom, Gary Naysmith, Isaac Osbourne, Gavin Rae and Dan Twardzik were all told they would not be given new deals when their current agreements expire at the end of the month.
Midfielders Stephen Hughes and Jordon Brown, meanwhile, have also been informed the club will allow them to move on.
McInnes has also confirmed youngsters Scott MacAulay, Zach Szemis, Stuart Close and Jamie Hamilton will all be leaving the club too.