Pakistan Cricket Board said the 25-year-old had an MRI scan, after which he was advised to rest for two to three weeks.
"Amir has been ruled out of the ODI series against Sri Lanka due to a stress related injury in the right shin. The fast bowler has been advised two to three weeks rest after he underwent an MRI scan," said a PCB release.
Amir walked off the field on Friday during the first day's play in the second Test, but was cleared to bowl on Saturday.
He managed to bowl just three overs though, 19.3 in the match, before once again limping off the field.
Pakistan were 51-0 without loss after Sri Lanka piled up 482 in their first innings. The tourists lead the series 1-0.
Amir will be replaced by another left-arm paceman, Usman Shinwari.
The first one-day international will be played in Dubai on Friday, followed by two in Abu Dhabi (October 16 and 18) and the last two in Sharjah (October 20 and 23).
The two teams will also play three Twenty20 internationals, the last in Lahore on October 29 -- subject to security clearance.
Mohammad Amirpak vs sl 2017Pakistan vs Sri Lanka 2017Pakistan vs Sri Lanka ODI seriespcbUsman Shinwari
First Published: October 8, 2017, 10:21 AM IST