Android Studio Companion app

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.BODY_SENSORS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.REORDER_TASKS" />

<application
    android:allowBackup="true"
    android:dataExtractionRules="@xml/data_extraction_rules"
    android:fullBackupContent="@xml/backup_rules"
    android:icon="@drawable/iconnn"
    android:label="@string/app_name"
    android:roundIcon="@drawable/iconnn"
    android:supportsRtl="true"
    android:theme="@style/Theme.WatchFlow"
    tools:targetApi="31">

    <activity
        android:name="com.watchfacestudio.w4flvireon.WatchNotConnectedActivity"
        android:exported="false" />
    <activity
        android:name="com.watchfacestudio.w4flvireon.WatchConnectedActivity"
        android:exported="false" />
    <activity
        android:name="com.watchfacestudio.w4flvireon.ImageSliderActivity"
        android:exported="false" />
    <activity
        android:name="com.watchfacestudio.w4flvireon.MainActivity"
        android:exported="true"
        android:theme="@style/Theme.App.Starting">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

    <meta-data
        android:name="preloaded_fonts"
        android:resource="@array/preloaded_fonts" />
</application>

Can you review my manifast file, is there a missing meta tag, I can’t see my devices on my phone when installing the clock dial with the companion app, I want to get rid of this problem.

I asked Copilot and this is what it said. I hope it helps.

Your manifest file looks well-structured, but the missing meta-data might be preventing your watch face from being detected correctly. Based on your companion app setup, here are a few adjustments that might help:

Potential Missing Meta-data Entries

Try adding this Wear OS compatibility metadata if your watch face requires standalone installation:

<meta-data android:name="com.google.android.wearable.standalone" android:value="true" />

If your watch face relies on a companion app, this setting should reflect its correct configuration.

Additionally, if fonts are critical to your watch face appearance, ensure that your preloaded fonts array is correctly defined. You currently have:

<meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts" />

Double-check that @array/preloaded_fonts is properly set up in your res/values folder.

Permissions & Intent-Filters

If your devices aren’t appearing when installing the watch face, consider adding permissions for Bluetooth or location-based detection:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

These permissions can help detect the connected wearable device.

You can also verify the intent filters within your companion app to ensure correct communication with your watch face.

Since you’ve been working on Wear OS watch face promotions, debugging this in Logcat in Android Studio might reveal any errors related to device detection. Have you checked the logs yet?

I don’t know much about it, I can’t select my devices when I download via mobile, so I can’t see my devices as options like in this picture

I’m far from an expert but it looks like you don’t have reference to your watch images. Usually stored in the drawable folder.

I have found two excellent places that describe how to make a companion app. I have used both to make my companion app. Following these instructions should allow you to make your own.

GitHub - bredlix/wf_companion_app: Sample companion app for you wear OS watch face

This is excellent

Creating a Wear OS companion app for your watch face

I hope this helps.

1 Like

I watched the video but I didn’t see anything missing or different, I don’t see any options on my phone like in the images I shared, so when I look from mobile, there is no option to download directly to the watch or download the accompanying app.

Your device isn’t compatible with this version.

now I installed the watch face on wear os form factor, my watch and my phone are connected, but it only detects my phone, the dial does not behave like a dial, it behaves like a normal mobile app

Not being an expert myself something is missing or not linked. I ran into similar problems when I first made mine. I basically started over again. I’m not sure if this is your code or a sample provided. I myself have not made one from scratch which I find very difficult. I do know when using one of the samples that I gave you they do work when followed.

1 Like


allows me to select a device on computer via browser but not on google play via mobile

@WatchFlow
Since this is the same issue please don’t create multiple posts.

I would suggest you to report this issue to Google’s Issue Tracker.


W4FL How can I add the icon of the Vireon dial to the .aab file I received from WFS

Speaking of Companion apps, I am sure many here are using the “Bredlix” companion app from GitHub. Is anyone else getting lots of warnings in their Android Studio builds? Also, there is a recommendation in the Google Console regarding “Your app uses deprecated APIs or parameters for edge-to-edge”. Has anyone addressed or fixed this? I have updated all libs and reworked some things in Android Studio where I no longer get warnings on my companion app builds but still have yet to figure out how to solve the Google Play Console recommendation.

2 Likes

I also use the Bredlix companion app and I also get this recommendation from Google. I would be happy if Wear OS 6 made companion apps unnecessary and we wouldn’t have to bother with them anymore…

1 Like

Hello. I use the Bredlix Companion app. I got this message from Google for all my Companion Apps.

Unfortunately I don’t know how to change the Target Android 15 (API Level 35) or high.

Well we all knew this day would come, Hopefully we can all put our heads together and find solutions for this. Something tells me that it can’t be as simple as changing the targetSdk = 35 in the build.gradle though. Although when I do, and sync it, there are no errors on mine.

I believe setting your targetSdk to 35 should be enough.

android {
    compileSdk = 35

    defaultConfig {
        targetSdk = 35
    }
} 

Hello. Thanks for the reply. I did it that way and get this message.

After a change … this message remains

set them both to api 36

Then this error message appears.

Yeah I have compileSdk and targetSdk both at 35 and get no errors/warnings on the build. I haven’t upped it to the console yet though so who knows. I have had error/warning free builds and yet when I up it to console I get the recommendation about using deprecated API’s

1 Like

very strange … that I get these reports in Android Studio