Frequent link breaks (due to node mobility) and quick exhaustion of energy (due to limited battery volume) are two major problems impacting on the flexibility in mobile ad hoc networks (MANETs). Cooperative communication in MANETs has become an appealing topic, as it can improve system capacity and energy efficiency. In spite of such advantages of cooperative communication, some issues still remain, such as the lack of a systematically designed cooperative routing scheme (including route discovery, route reply, route enhancement, and cooperative data forwarding), facilitation of cooperative communication in mobility resistance, and route selection (jointly considering energy consumption, energy-harvesting ability, and link break probability). Driven by the above concerns, we propose a novel Constructive-Relay-based CooPerative Routing (CRCPR) protocol in this paper. Using topological information stored and maintained in a COoPerative Table and Relay Table, CRCPR enhances resilience to mitigate the mobility issue by self-managing to construct adequate relays for data forwarding. Furthermore, assuming nodes are mostly battery operated, CRCPR proposes a new route selection mechanism, which takes into account energy consumption, energy harvesting, and link break probability, to determine an appropriate route across a network. Simulation results show the robustness of CRCPR against node mobility, further with improvement for up to 60% network throughput and 40% prolonged network lifetime.