First the good news from the 49ers' final training camp practice, which was held at Levi's Stadium: The team's injured players continue to trickle back into the lineup, headlined Friday by Michael Crabtree.

He hadn't had a full practice since suffering a muscle strain July 30, but he took part in today's session and caught a couple of crisp crossing-route passes from Colin Kaepernick in front of a few thousand fans.

All offseason coaches and players have said that Crabtree was not his usual self after returning from an Achilles' tear in December of last year. Crabtree confirmed this, saying that he was 225 pounds when he played against the Rams on Dec. 1, his first game back. He said he's about 210-215 pound now.

"Last year I wasn’t 100 percent," Crabtree said. "A lot of guys forget about that just because you go out there and you play. And they forget about your percent. I wasn’t 100 percent last year, but this year is a different story.”

Never miss a local story.

Sign up today for a free 30 day free trial of unlimited digital access.

Indeed, Crabtree has looked quicker and more explosive this training camp, more so than he did at the end of last season when his duel with Seahawks cornerback Richard Sherman ended with a Seattle interception. Sherman spent the hours after the game berating Crabtree. Sherman repeatedly called him a “mediocre receiver.”

"I’m trying to be one of the best out here,” Crabtree said Friday. “I see a lot of people talking this and that, but when you turn that film on, you see football players. You see guys with heart. You see guys who aren’t scared of nobody. That’s what I bring to the game."

"It’s going to be an exciting year," he said. "I can’t wait to go out there."

****************************

The bad news: Mere hours after Jim Harbaugh threw support behind Blaine Gabbert and said Gabbert would be the No. 2 quarterback Sunday against Denver, Gabbert again struggled to find his targets.

One sequence in team drills began with him badly overthrowing a receiver over the middle. On the next play, he threw a nice pass to Quinton Patton in the corner of the end zone that Patton could not hang onto. That was followed by a throw that sailed over fullback Will Tukuafu's head. As the ball skidded across the grass, a murmur of discontent rumbled through the crowd with a couple of patrons outright booing.

Josh Johnson didn't do much better. But to be fair, there were plenty of drops by their pass catchers. Patton, Brandon Lloyd, David Reed, Kevin Greene and Derek Carrier each had a drop. Some defenders did, too, including cornerback Dontae Johnson, linebacker Nick Moody and linebacker Chris Borland.

Borland broke up a couple of passes and looked good in pass coverage.

The best throw came from presumed No. 4 quarterback McLeod Bethel-Thompson who, from his own 5-yard line, connected on a 40-yard pass along the sideline to Reed against Perrish Cox.

****************************

Adam Snyder (knee) also was back at practice, mostly filling in at left guard with the first-team offensive line. Mike Iupati took part in the practice, but it wasn't a full session for him. The only would-be Week 1 starters who did not practice were right tackle Anthony Davis (shoulder), linebacker Patrick Willis (unknown) and cornerback Tramaine Brock (ankle), who for the second straight practice went through individual drills.

Borland and Michael Wilhoite again filled in at inside linebacker with the first-team defense. They're likely to start Sunday's game.

Presumed right guard Alex Boone continues to hold out for a better contract. Both tight end Vance McDonald and running back LaMichael James were in blue “no-contact” jerseys. James didn't practice punt returns, and it doesn't seem like either will play against the Broncos.

*****************************

The 49ers coaches and players who weren't on the field stood along what will be their home sideline, which is on the west side of the stadium. That means that the setting sun will be in the eyes of their opponents as it was during Friday's session, which began at 5 p.m.

*****************************

Today’s was the final training-camp practice. The 49ers will have what they call a “mock game” (it’s basically a practice) on Saturday that is closed to the media. They will have their final practice at Levi’s Stadium on Wednesday.

About This Blog

Matt Barrows was born in Blacksburg, Va., and attended the University of Virginia. He graduated in 1995, went to Northwestern for a journalism degree a year later, and got his first job at a South Carolina daily in 1997. He joined The Sacramento Bee as a Metro reporter in 1999 and started covering the San Francisco 49ers in 2003. His favorite player of all time is Darrell Green. Reach Barrows at mbarrows@sacbee.com.
Twitter: @mattbarrows