I'm currently porting a backup client called Degoo from Windows to Android. The client is written in Java 7 and we're targeting Android 4.4 and above so I figured that most code, except the UI would be pretty straightforward to port. Unfortunately I noticed that Google has decided to force everyone to use a pre-beta version of Apache HttpClient 4.0 (https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html). The problem is that we already use HttpClient 4.3 and need to keep it that way. It would have been fairly straightforward if we'd only have to target Android. Then we'd just use httpclient-android instead. However, now the code must still work with other platforms. We also have some dependencies that have httpclient as a transitive dependency (e.g. httpmime).
What is the most elegant solution to this problem? Should we grab the entire source code of httpclient, change the namespace and have all code use that instead? Then we'd have to do the same thing with all our dependencies that depend on httpclient but so far I haven't come up with any better solution.