gps4cam is by far the best, and I've used a ton of 'em.
Install gps4cam on your desktop, and the app on the phone.
It tracks you (with some settings about accuracy, power, etc). At the end of your photo shoot or whatever you hit a button in the app to bring up a QRCode on the phone. Take a picture of it with your camera.
When you get back to your desktop, open up the desktop application, find the directory with your photos, designate an output directory, and bingo, it will generate geocoded copies. No need to mess with camera clock, time offsets, etc. It can thus link to the SD card, and then geocode and copy all the RAWs, JPEGs etc to your desktop, where they can be added to Lr already geocoded. Of course you could also use the GPX track it generates, etc with Lr itself, but I find using Lr kinda meh for geocoding for various reasons.
Cons are a separate copy off the SD card as opposed to letting Lr copy. Pros are no messing with camera clock synchs, although you can use it that way. The Pro version (not sure if there's still a distinction) can store data in Dropbox; you just use the app to store the data there and then within Lr you fetch the GPX files from Dropbox (although then you gotta know your time offset).