The British beauty played a sexy spy in the 2009 film, but reveals she "didn't feel good" after taking on the shoot.
And she admits the experience of playing an action role subsequently put her off big Hollywood blockbusters, despite the movie offering a "great pay cheque".
She tells Britain's Time Out magazine, "It was what it was, but I compromised my own values to a certain degree and I didn't feel good about that.
"I'm not very good at fighting. And I'm not very good at guns. And I'm not particularly aggressive. I had to wear sunglasses because every time I shot my gun I would blink. I was completely out of place, like this little midget running round in black leather winning fights, which was just absurd. They did a wondrous job with my wardrobe to make me look threatening.
"G.I. Joe (was) a great pay cheque. If, financially, I'm okay - which luckily I am - there's no point in doing stuff that's not right for me. It's too much time away from home."
The actress also reveals she is more focused on furthering her theatre career than taking on new film roles, adding: "There are times when you come off stage and it's so intense that you're screaming and sobbing but you feel amazing. I'm hooked. Doing a film is just not so appealing."