Roy was originally hurt in a Jan. 13 game against Milwaukee, then aggravated the injury on Jan. 20 at Philadelphia. He has missed 12 of the last 13 games, including Saturday night's game against the Los Angeles Lakers.
"I don't feel like I'm at a level where I can help the guys out right now," he said before the game.
Roy, in his fourth season with the Blazers, made the All-Star team as a reserve for the third straight season. He said he will not travel to Dallas for the game on Feb. 14 at Cowboys Stadium. NBA commissioner David Stern will choose Roy's replacement for the game.
"This was not a decision that any of us wanted to make, but in the end we had to do what was best for Brandon," Blazers general manager Kevin Pritchard said. "We're hopeful that this extended rest will put Brandon in the best possible position to return to the lineup shortly after the All-Star break."
Roy leads the Blazers with 23.1 points per game.
"I think it's going to be the smart thing just to stay off it for a little while," Roy said.
Recently, Portland saw the return of forward Rudy Fernandez, who missed 19 games because of a back problem, and forward Nicolas Batum, who was supposed to start but had shoulder surgery just before the start of the season.
Roy, who was an All-American at Washington, was the sixth overall pick in 2006 by the Minnesota Timberwolves and was acquired by Portland in a draft-day trade. He made an impact from the start, winning the league's Rookie of the Year honors.
Central to rebuilding efforts after the "Jail Blazers" era, Roy is Portland's unquestioned leader.
"This will give him a chance to rest it, rehab it and not have to worry about coming back in the next day or two," Blazers coach Nate McMillan said.
Roy is the fourth three-time All-Star from the Blazers, joining Clyde Drexler, who was named to the team eight times; Sidney Wicks, a four-time All-Star; and Maurice Lucas, honored three times.
Information from the Associated Press was used in this report