in my breakout style game (Java & AndEngine), I have to find which side of brick that collision with ball. In other words, I want to bounce the ball according to its collision surface. If my ball collisions with brick’s top or bottom; I will bounce it with rotation = 180-rotation; , else, with rotation = 360-rotation;

well, here’s one solution:
when the collision occurs you could measure the distance between each of the four corners and the center of the ball.
The colliding edge is between the two corners with the smallest distance to the ball.