Joshua is returning to the ring after two successive defeats to Oleksandr Usyk, with the British fighter's most recent loss against the Ukrainian coming last August in Saudi Arabia.
The 33-year-old takes on Franklin in search of his first victory since beating Kubrat Pulev in 2020.
Reigning WBC champion Tyson Fury held talks with Joshua's camp over an all-British bout but no deal was reached, leaving Franklin as the first opponent on Joshua's comeback trail.
Joshua, a two-time world champion, confirmed the contest in a tweet which contained a poster for the fight and read: "A new dawn."
Joshua was ringside in November when Franklin lost to Dillian Whyte at Wembley Arena, the first defeat of the American's 22-fight career.
There had been speculation prior to Joshua's split-decision defeat against Usyk last year that the former Olympic champion might be set to quit boxing.
However, the third loss of Joshua's career has not brought the curtain down and he will return to fight at the O2 Arena for the first time since 2016.