You can get him at the safari zone.
In HeartGold you can find Larvitar on Mt. Silver or in the Safari Zone (in the 'Mountain' area).Safari Zone
In the grass area
In the Safari zone, after getting National Dex. In the Flower Bed Area, with 10 forest blocks and 14 Rocky blocks in place. Then you wait 70 or more days.
In the Safari Zone after obtaining the National Dex. Or you could trade it from Pearl/Diamond/Platinum.
you can't find him but riolu (pre evolved form) is in the safari area find him and evolve it
In the Safari Zone(Encounter Rate is rare)
You can find it in the Safari Zone or trade it from Platinum, Diamond, or Pearl.
the only way 2 get riolu is 2 trade over from diamond, pearl or platinum
You need to evolve riolu which you can find in the safari zone.
in safari zone
You can get him at the safari zone.
Forest Area.
In the safari zone in the forest area i think
Riolu is one of the more difficult Pokemon to find, you have to place specific items in the mountain zone and wait over a period of three weeks. The easier way to get a Riolu is to purchase a copy of Diamond, Pearl or Platinum (or get a Friend with a copy of one of these games) Trade over a Riolu, problem solved
In HeartGold you can find Larvitar on Mt. Silver or in the Safari Zone (in the 'Mountain' area).Safari Zone
In Soul Silver you can't catch Lucario but you can catch Riolu(Lucario's Pre- Evolved form) in the Safari Zone near the meadow Area If you place down 10 Forest objects and 14 Peak objects down. You can Evolve the Riolu and you will have Lucario!! Or If you have Pokemon Diamond or Pearl or maybe Platinum you can go to Iron Island and help Riley get to the Exit. He will give you a Riolu egg you can then evolve it and then trade it to your Pokemon Soul Silver that's what I did..... I have Pokemon Soul Silver, Heart Gold, Diamond,Pearl,Riby,Sapphire,Emerald,Silver,Gold,Crystal, Blue and Fire Red. Hope it Helped ^^ -Bolt the Electric Lucario