In pervasive computing environments, applications find themselves in constantly changing operating conditions. Such applications often need to discover locally available resources on-demand. Communication protocols that base discovery not on the unique address of the destination but on application-level characteristics of the destination host can more closely match application requirements. Our Cross-Layer Discovery and Routing (CDR) protocol is one such example; using a simple extension to standard source routing used in mobile ad hoc networks, we have demostrated the ability to efficiently discover and maintain routes to resources using application information to define the target of discovery. In addition, because the types of resources desired may be common across pervasive computing applications, the discovery and routing tasks may benefit from some degree of proactivity. Following this motivation, we have extended our CDR protocol to an adaptive version that incorporates resource advertisement. We have built mechanisms to allow CDR to dynamically tune its behavior to optimize itself for a dynamic operating environment.