Jeff Stenroos, an officer with the Los Angeles Unified School District, was arrested and booked at the central jail, KABC-TV, Los Angeles, reported.
The purported shooting last week triggered hours of lockdowns at schools and a massive manhunt. A $100,000 reward was offered for information leading to the arrest of the supposed shooter.
Stenroos, who was wearing a bullet-proof vest, was treated for a bruise on his chest.
The Los Angeles Police Protective League issued a statement calling Stenroos "a disgrace to the badge."
"The law enforcement community is disgusted upon learning that Mr. Stenroos filed a false police report and apparently may have shot himself," the group said in a statement. "His lies set into motion the largest search for a suspect in recent history and inconvenienced thousands of people for hours."
An area 7 miles on each side of the school was effectively blocked off for hours during the search.
Putin thinks Obama would save him if he were drowning
Justin Bieber crashes Drake Bell's album release party