uTag is a Android app and mod for Samsung SmartThings which allows the use of Samsung SmartTags on non-Samsung Android devices running Android 11 or above. No root, no Shizuku needed.
Features
uTag allows the use of almost all SmartTag features. This includes setting up, connecting to and tracking Tags, ringing Tags, location history, precise finding with UWB (requires a UWB-capable device), left behind alerts and much more. In addition, uTag includes some features which Samsung's app does not have, such as widgets, safe areas for leaving Tags behind based on Wi-Fi networks and exporting location history. You can find a larger list of available features in the Frequently Asked Questions, as well as a longer introduction to uTag on Medium.
Why Samsung's Tags?
Great question, this is answered both in the Medium article about uTag, and with a longer piece about Samsung's network vs Google's.
Download & Installation
Installing uTag is very simple. Just download the latest release APK from the releases page, install it and follow the instructions for setup. uTag will download the latest SmartThings mod, install it and guide you through setup. You will be required to sign into your Samsung Account, which is required to access Samsung APIs.
Content Creator Mode
If you're a content creator, and you want to showcase uTag with images or video, you should enable Content Creator Mode in the Advanced settings after setup. This option uses a pre-defined set of fake locations (shown in the screenshots below), while allowing otherwise normal use of the Tags. Locations sent to the network are not impacted.
Screenshots
Building
Note: This section is only for people who wish to compile uTag from source for themselves. Most people should follow the instructions above to download and install the APK.
If you want to compile uTag yourself, some additional setup is required:
- Clone the repository as normal.
- Download this APK of Samsung Find my Mobile Lite.
Note: this specific version is required since it's the last version to support both armv7 and v8. This library has remained unchanged since the beginning so there's no reason to "update" it.
- Extract the
libfmm_ct.so
shared libraries and place them in their respective folders inapp/src/main/jniLibs
. This is required to support sending locations to the Samsung Find my Everything network. - Open the auto-generated
local.properties
file and set it up as follows:
storeFile=<path to keystore> storePassword=<keystore password> keyAlias=<key alias> keyPassword=<key password>
- Create a Google Maps API key on the Google Cloud console, then create a
secrets.properties
file and set it up as follows:
MAPS_API_KEY=<Maps API key>
- Run the
app
configuration. If your device is rooted and using LSPosed, this is all you need to do, install SmartThings from Google Play, enable uTag in LSPosed and finish setup as normal. - If your device is not rooted, create an APK of the
xposed-standalone
configuration, and push it to your device. - Install the latest version of LSPatch.
- Download the latest APK of SmartThings.
Note: It is vitally important that you download the APK and do not use the version installed from Google Play, since Google Play uses split APKs which are not supported by LSPatch.
- Open LSPatch, go to the settings and set up your custom keystore. If you need to convert it to BKS format, you can use KeyStore Explorer.
- On the "Manage" tab of LSPatch, select the + button and then pick the SmartThings APK from storage.
- Select the "Integrated" patch mode, and then "Embed modules".
- Pick the
xposed-standalone
APK you pushed earlier, and then "Start Patch". - Once patching is complete, find the patched SmartThings APK in
/sdcard/LSPatch
and install it.
Note: If you were previously running an unpatched version of SmartThings, you will need to uninstall it first.
- Open the patched SmartThings. It may take a short while to setup, once completed you can sign in, then continue to use uTag as normal, it will detect the patched SmartThings automatically and skip trying to download the precompiled version.
Note: When SmartThings or uTag is updated, you will need to repeat steps 8 to 16.
Documentation
If you're a developer wanting to interact with the SmartThings and Find APIs in the same way that uTag does, or interested in how some of the Bluetooth interactions work, check out the uTag Wiki.