Unable to distribute app on Android Wear in Google Play Developer console
Asked Answered
C

8

12

Im trying to submit my newly created Android Wear watch face through Google Play Developer Console. The problem is checkbox "Distribute your app on Android Wear" in pricing and distribution section is disabled. I cant understand why.

What I did:

1) Uploaded screenshot for Android Wear

2) Uploaded 2 APK files in closed Beta releases. Both files are signed with one key, have different version names. First is phone apk with embedded wear apk (minSdkVersion 23), second - standalone wear apk (minSdkVersion 25) has meta-data android:name="com.google.android.wearable.standalone" android:value="true" in manifest file.

Everythings seems fine and app is ready to publish in production, except the "Distribute your app on Android Wear" checkbox which remains disabled. What Im missing?

Cathe answered 18/4, 2017 at 15:24 Comment(9)
Did you solve this?Barmen
@Barmen No, it looks like a bug with Wear 2.0 on server side of Google Developer Console. Seems like old releases affect new one. Ive contacted support several times already and waiting for their reply, but they are not very fast :( Did you encountered similar problem?Cathe
Yes, contacted support a couple days ago but no response. Did you find any posts supporting the existence of a bug? Or guessing?Barmen
I found one more post, but not sure that the problem is the same. The Android Wear 2.0 compatibility requirement was added to Developer Console not long ago, also the bug is not always reproducible, because I managed to publish successfully one Wear 2.0 project before. It looks like the problem is with previous versions of apk, if their configuration for Wear 2.0 was wrong, the checkbox remains disabled regardless of the new apk versions with proper config. Also I've asked my friend to try publish my project changing package name to alpha in his developer console, and checkbox was enabled.Cathe
Thanks for the info!Barmen
@Barmen I received an email from Google support today, saying that they worked on the issue and changed something. But I'm still unable to distribute to android wear, checkbox disabled. I've tried to upload new apk to beta, didn't help. :( Do you have some progress on the matter?Cathe
Thanks for the update. I messaged them twice - no response. Still can't upload.Barmen
Hey finally got ahold of Google. I had to declare the wearable app as standalone (in the wearable manifest) even though it needs a phone to function. Is your wear manifest standalone attribute set to true?Barmen
@Barmen yes, standalone was in my Wear manifest (it is listed in my question). I've posted an answer. See it below.Cathe
C
0

I've received the email from Google support saying that they worked on the issue and changed something. They noted that my manifest file for mobile was missing line <uses-feature android:name="android.hardware.type.watch"/> I only had this line in Wear module manifest.

I've added this line, uploaded a new version with 2 apk files for wear 2.0 and 1.0 and after that checkbox became enabled.

Currently, the official docks for Wear 2.0 don't clearly say that this line should be added to both manifest files.

Also strange that before the problem with this project I managed to successfully upload another Wear 2.0 project to Developer Console (with checkbox enabled), and the line was only in Wear module manifest.

Cathe answered 12/5, 2017 at 11:42 Comment(0)
L
10

I stumbled upon the exact same issue.

  • I had <uses-feature android:name="android.hardware.type.watch" /> in my manifest
  • I had <meta-data android:name="com.google.android.wearable.standalone" android:value="true" /> in my manifest
  • minSdk was set to 25

But still the checkbox for Wear distribution was disabled.

For fun I tried editing the HTML with Chrome's inspection tools, and removed the "disabled" attribute from the checkbox. Sure enough, the setting stuck after enabling the checkbox, and now Wear distribution is enabled. Give it a try!

Launcelot answered 5/6, 2017 at 18:29 Comment(5)
Are you certain this solution works only because you edited the HTML alone?Visa
Positive. I did mail with Google Support and they confirmed that the app was enrolled for Wear Distribution without their interference.Launcelot
I can't imagine such a bug in "Google". I didn't add standalone metadata in the manifest, just the watch type metadata.. Btw +1 for your thinking to remove the disabled attribute from the CheckboxGilmour
That actually worked. I've read quite a few things in the answers that I thought were just too ridiculous to be true - and then the most pathetic one is the one that works lmaoSpiceberry
the solution is not clear to me. Please add more detailsScum
M
1

You may want to check Packaging and Distributing Wear Apps and see if you've missed something.

As discussed, aside from specifying APK's version code (standalone Wear and embedded Wear), also check if you've updated your Wear module's build.gradle file to include the following if an existing embedded app has a minimum SDK version of 23:

android {
    // Allows you to reference product flavors in your
    // phone module's build.gradle file
    publishNonDefault true
    ...
    defaultConfig
    {
       // This is the minSdkVersion of the Wear 1.x embedded app
       minSdkVersion 23
       ...
    }
    buildTypes {...}
    productFlavors {
        wear1 {
          // Use the defaultConfig value
        }
        wear2 {
            minSdkVersion 25
        }
    }
}

Also, check Distribute to Android Wear for more information.

Moen answered 19/4, 2017 at 10:53 Comment(0)
I
1

I faced like this issue. For me, the case is different.

I got below error message from Google play console.

This APK or bundle requires the Wear OS system feature android.hardware.type.watch. To publish this release on the current track, remove this artifact.

I found, to my project I have to release Mobile AAB & Wear AAB separately.

For Mobile app:

Go to "Production" -> Top right "Create new release" button should be there, before click the button, first choose option from left side drop-down. I have chosen "Phons, Tablets & Chrome OS", then click "Create new release" button. Rest flows are as usual.

For Wear app:

Go to "Production" -> Top right "Create new release" button should be there, before click the button, first choose option from left side drop-down. I have chosen "Wear OS only", then click "Create new release" button. Rest flows are as usual.

Iridescent answered 1/9, 2023 at 10:56 Comment(0)
C
0

I've received the email from Google support saying that they worked on the issue and changed something. They noted that my manifest file for mobile was missing line <uses-feature android:name="android.hardware.type.watch"/> I only had this line in Wear module manifest.

I've added this line, uploaded a new version with 2 apk files for wear 2.0 and 1.0 and after that checkbox became enabled.

Currently, the official docks for Wear 2.0 don't clearly say that this line should be added to both manifest files.

Also strange that before the problem with this project I managed to successfully upload another Wear 2.0 project to Developer Console (with checkbox enabled), and the line was only in Wear module manifest.

Cathe answered 12/5, 2017 at 11:42 Comment(0)
S
0

I actually emailed Google about this - it was an issue on their side and they have now fixed it...

Scouting answered 20/5, 2017 at 17:10 Comment(0)
E
0

If you add <uses-feature android:name="android.hardware.type.watch"/> to your mobile manifest (not wearable manifest) your apk will be distributed only for WEARABLE devices! Don't do it if you want to distribute also for mobile phones.

I have the same problem. Checkbox "Distribute your app on Android Wear" is grey out. I have followed all instructions in App Distribution, added all wearable screenshots and still cannot check the box. I have contacted support. First they said, that in my wearable manifest in need to replace:

android.hardware.type.watch

with:

android.hardware.type.WATCH

That didn't help. Next they told me, that there is a bug in developer console and it should be resolved by Tuesday May 9th. Unfortunately, they didn't fix anything or they didn't do anything at all. Next they told me, that I need to add <uses-feature android:name="android.hardware.type.watch"/> to my mobile manifest file. I cannot do it, because apk would then be distributed only for wearable devices.

I have send them my manifest.xml and build.xml for mobile and wearable and waiting for the response.

Before april I have added about 10 wearable apps (also with 2.0 support) and there was no problem.

In my point of view they doesn't know what the problem is and cannot help us. Moreover they instructions App Distribution are out of date and In one place there is info, that minimum SDK should be 23, and few pages below there is sample code with minimum SDK 21.

Entropy answered 23/5, 2017 at 9:31 Comment(1)
You can add that line <uses-feature android:name="android.hardware.type.watch"/> to mobile manifest, upload apk to beta, get the checkbox enabled and then upload a new version without that line in the manifest. Once enabled checkbox remains in this state no matter what you upload after. Also I agree, documentation for wear is very unclear.Cathe
S
0

Your APK requires both tags below as called out in other answers.

However, you still won't be able to check the box if the original APK (without the tags) was uploaded for the release. You must delete that APK and make sure only the APK with all those fields is left.

I made this mistake and had to hack the solution above but couldn't publish afterwards until I deleted the original APK I uploaded without the standalone tag. I asked support and they seemed to verify this.

Anyway, try that before hacking, hope that helps.

Required in your Wear manifest:

Requirement 1:

<uses-feature android:name="android.hardware.type.watch" />

Requirement 2:

<meta-data
    android:name="com.google.android.wearable.standalone"
    android:value="true" />
Shortstop answered 22/3, 2018 at 18:37 Comment(0)
L
0

If you are using any CLI for distribution apk/abb with

<uses-feature android:name="android.hardware.type.watch" />

you should use track wear:internal instead of just internal

Lally answered 9/4 at 1:13 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.