Freddy Martin was clinging to life after the 8:30 p.m. Friday incident in New York's Bronx borough, the New York Daily News reported.
Neighbors said the boy cried "Mommy! Mommy!" after hitting the sidewalk outside his apartment building, the newspaper said.
A police source told the Daily News that while en route to the hospital the child told a police officer who was responsible.
"The kid told a cop, when they were going to the hospital, that he was thrown from the roof," the source said. "The boy named the suspect."
Sources and witnesses said Casmine Aska, who lived on the fourth floor, pulled the screaming boy from his third-floor apartment and dragged him to the roof, the newspaper said.
"He was saying, 'Stop!'" said a neighbor, who did not want to give her name.
WNBC-TV, New York, reported police said the boy was listed in critical condition at NewYork-Presbyterian/Columbia hospital with "severe body trauma" and was on life support.
The TV station said a police official said Aska was charged with attempted murder Saturday.
The youth was stopped by officers as he was leaving the apartment building with his mother and a brother, and gave conflicting versions of what had happened, the official said.
"He gave several versions," the official told WNBC-TV. "He wasn't there, he was up there, he tried to help him."
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend
Biologists detail four new deep-sea 'killer sponges'