Mobile Edge Caching is a promising technique to enhance the content delivery quality and reduce the backhaul link congestion, by storing popular content at the network edge or mobile devices (e.g. base stations and smartphones) that are proximate to content requesters. In this work, we study a novel mobile edge caching framework, which enables mobile devices to cache and share popular contents with each other via device-to-device (D2D) links. We are interested in the following incentive problem of mobile device users: whether and which users are willing to cache and share what contents, taking the user mobility and cost/reward into consideration. The problem is challenging in a large-scale network with a large number of users. We introduce the evolutionary game theory, an effective tool for analyzing large-scale dynamic systems, to analyze the mobile users content caching and sharing strategies. Specifically, we first derive the users best caching and sharing strategies, and then analyze how these best strategies change dynamically over time, based on which we further characterize the system equilibrium systematically. Simulation results show that the proposed caching scheme outperforms the existing schemes in terms of the total transmission cost and the cellular load. In particular, in our simulation, the total transmission cost can be reduced by 42.5%-55.2% and the cellular load can be reduced by 21.5%-56.4%.