I am using the latest release cocos2d-x 2.1.2 and cocosbuilder 3.0. After a half day straggle with the issue, I found the solution.
The reason is that when cocosbuilder published the resource, it created a very nice directories structure to put different resolution images to the different folder. I assumed cocos2d-x will pick the right directory work with cocosbuilder published file structure. I was wrong. I had to manually set the resource directory in cocos2d-x to match the cocosbuilder published directory. After I did that, everything works fine.