In this paper, we present an architecture and implementation of a measurement-based energy profiling tool for mobile devices, called PowerMemo (power meter for mobile). The tool composes of a software event profiler and power measurement hardware to analyze process-level and function-level power consumption of mobile applications on Linux operating system and Dalvik virtual machine. Wireless signal attenuators and RF-shielded chambers are further integrated with the tool so that developers are able to emulate a real-life mobility scenario that a mobile device may encounter. The proposed tool overcomes the issue for profiling asynchronous I/Os and can correlate energy consumption of I/O events with software activities. This tool gives developers a broader view of software energy consumption in a mobile environment so that the developers can optimize the energy efficiency of their mobile applications.