The Scotland international, 27, who joined Blackburn for £2m in 2011, ended last season on loan at Ross County.
He scored five goals in three years at Ewood Park, with loan spells at Dundee United, Crystal Palace and Blackpool.
Fellow striker Jimmy Spencer has also joined Argyle from Cambridge, along with Latvian defender Nauris Bulvitis.
Spencer, 24, failed to agree a new deal with the U's having scored six times in 18 league appearances after joining from Notts County in January.
Latvia international centre back Nauris Bulvitis has also joined the Pilgrims after leaving top-tier side Spartaks Jurmala.
The 29-year-old has played in six countries, including Lithuania, Slovakia and Switzerland, and helped Inverness win the Scottish First Division as a loanee in the 2009-10 season.
Meanwhile, Pilgrims striker Ryan Brunt has agreed a new deal at Home Park.
Brunt, 23, scored 10 goals in all competitions in his first full season with the club, having joined from Bristol Rovers in January 2015.
He will miss the start of next season after damaging cruciate knee ligaments in a game against Barnet in March.
The Pilgrims have 16 first-team players under contract, while a further six - whose deals run out on Thursday - are yet to respond to offers made by the club.
Find all the latest football transfers on our dedicated page.
League Two Plymouth Argyle have signed former Blackburn forward David Goodwillie after his release from Scottish Premier League club Aberdeen.