Smartphones have become an indispensable part of our daily lives. As the limited battery lifetime remains a major factor restricting the applicability of a smartphone, significant research efforts have been devoted to understand the energy consumption in smartphones. Existing energy modeling methods can account energy drain in a fine-grained manner and provide well designed human-battery interfaces for users to characterize energy usage of every app in smartphones. However, in this paper, we demonstrate that there are still pitfalls in current Android energy modeling approaches, making Android vulnerable to malicious attacks. In particular, we present a set of new collateral energy attacks, which can deplete battery life but sidestep the supervision of current energy accounting. To defend against collateral energy attacks, we propose E-Android to accurately profile energy consumption of a smartphone in a comprehensive manner. E-Android monitors collateral energy related events and maintains energy consumption maps for relevant apps. We evaluate the effectiveness of E-Android under six different collateral energy attacks and two normal scenarios, and compare the results with those of Android. While Android fails to disclose all collateral energy attacks, E-Android can accurately profile energy consumption and reveal the existence of energy malware. Our evaluation results also show that the overhead induced by E-Android is minor.