Williams' deal is worth $5.6 million and includes a player option for the second year.
Williams strongly considered Miami and Memphis, but neither team was offering as much as the Blazers.
This will be the fifth team for Williams, who spent last season with the Utah Jazz, where he averaged 12.9 points and 6.2 assists in 46 games. His scoring average was his lowest since 2005-06, when he averaged 12.1 points for the Milwaukee Bucks.
"You can look at me as a sixth starter," said Williams.
Information from The Associated Press was used in this report.