CPU is a major source of power consumption in smartphones. Power modeling is a key technology to understand CPU power consumption and also an important tool for power management on smartphones. However, we have found that existing CPU power models on smartphones are ill-suited for modern multicore CPUs: they can give high estimation errors (up to 34%) and high estimation accuracy variation (more than 30%) for different types of workloads on mainstream multicore smartphones. The root cause is that those models estimate the power consumption of a CPU based on only frequency and utilization of the CPU, but do not consider CPU idle power states. However, we have found that CPU idle power states play a critical role in power consumption of modern multicore CPUs. Therefore, we have developed a new approach for CPU power modeling, which takes CPU idle power states into consideration, and thus can significantly improve the power estimation accuracy and stability for multicore smartphones. We present the detailed design of our power modeling approach and a prototype implementation on commercial multicore smartphones. Evaluation results show that our approach consistently achieves a high average accuracy of 98% for various benchmarks, and 96% for real applications, which significantly outperforms the existing approaches.