It is alleged the 17-year-old was walking along Berehaven Avenue on July 1, when he stole a bicycle from a front yard, Canning Vale police officer-in-charge Senior Sergeant Simon Underwood said.
The homeowner saw that his bike was missing and went to look around. Sgt Underwood said the man saw the boy on the bike outside Thornlie Square, approached, took his bike back and left.
The man then called police who found the boy at Spencer Village.
They spoke to him, then searched him, and found the knife hidden on his body.
Officers took him to Gosnells Police Station and charged him with stealing and carrying a controlled weapon.
He is due to appear at Armadale Children’s Court on July 14.