How to put different versions of watch face onto watch

For testing I want to put several versions of a watch face onto my watch. Saving the project under a new name and then running it on the device overwrites the original on the watch (fortunately not also in WFS). In the honeyface.json that is part of the project data in the wfs file there is a"packageName" field that seems to be critical to this watch-loading process. There may be other fields as well that are critical. How to I get Watch Face Studio in the GUI to change this name so that when the project is saved under a new name and then run on the device it survives as a new independent watch face?

1 Like

For me when i safe a project under a new name its enough for it to create a new independent watch face. (No overwriting), admit sometimes it does overwrite sometimes it doesnt.

To change the package name… change the default text label via project settings

Once in a while the package name will change, but mostly it does not, and I am looking for a reliable way to create a new watch face from an existing one – a way which creates a completely and reliably independent watch face, so that I can switch between them dynamically on the watch during testing. But I can find nothing, anywhere, in the GUI which will cause this to happen. I may have to resort to editing the wfs file by hand and seeing if I can get this to work.

Try changing the package name as mention. And try to reload the wfs file before running run on devive. Meaning restart wfs with the new package

Under file->project->settings



Changing the default value changes the package name

For me no luck whatsoever. I have changed the only ID_LABEL, which for me was ID_LABEL_TEST, the name of the watch face I am trying to duplicate, to have the value “testmore”, instead of “test”. I save the project, exit and restart WFS, and run this newly saved testmore project on the device. The package name is still “test”, and testmore wipes out test on the watch.

Weird doesnt happen to me… i did it many times… using that method. Changing the label and wfs name.
E.g change testmore then safe as testmore.wfs
Then run on device

Changing testmore but using the test.wfs may cause the overwrite. Because i am guess the build wasnt a clean build…sometimes when the overwrite happens i go into the build folders and delete the aab files…and rerun. Each time a new watch face with new label is created.

Another tip is do not have the watch face (test) active. Switch it for anothet before pushing to your watch

What version of watch u using and wfs?

Mys gw5 pro , wfs 1.5.7

GW6 Classic 47mm and WFS 1.4.20. Just did another cycle, carefully following your prompts, with the same result: even though the label was given a new value, and the file was saved into a new wfs file with the same name as that value, when run on the watch the package name is the same. The watch face name shown in the companion app (wear) is the same as the new name in the label, but the package name is unchanged, and it wiped out the previous version of that package (which is still stuck at test).

Guell I will have to download and install the 1.5.7 version and then try again, and it will be later tonight before I can.

Hi, may i know what you mean by package name. The label change means package name change already?
How can u see on watch its the same package name?


This?

For me its matches the label on my watch

Meaning to my understanding the package name did change.

Anyway i tried three times… once it replaced the whole watch face with new label. So i close wfs and reopen the project… making a new debug connection. Unpair on my watch and repair. Then push new watch face to watch. Repeat process with another label and wfs. Both new watch face was added

Guess is also to do with debugging session.maybe since same debuging session it assume u making changes to same project.

To add on to my above observations…i guess when u made a connection to the watch from wfs. It points to a location in the watch to dump it package. And it keeps dumping it there. No matter the project. So it replaces your watch face. Only way change the attached address. Is to make a new connection from scratch

The package name is in the json file contained within the wfs file. The line looks line “packageName”: “com.watchfacestudio.test”. I am pretty sure that Android uses only that to keep track of programs loaded into it. So if a new “com.watchfacestudio.test” shows up, it overwrites the preceding one. The label shown in the Wear app is extracted from a different field in the json file: “stringResId”: “ID_LABEL_TEST” where stringResid is I infer a specific field known to Android and from which a printable name is taken. All of this is in the build data section of the json file. So I think in order to have two different modules survive the must have different package names.

I do think that hacking the wfs file is out. I’ve tried a simple change, but wfs then rejects the file as invalid. All I want is to take an existing wfs file, save it somehow with a new name that will load on the watch independently. Have not yet found the way.

Will try a different debug session later. That is an intriguing thought.

But: just now I ran three run-on-device runs with three differently saved versions, once again stopping and restarting WFS after each, and all three showed up on the watch. So who knows what is going on.

The session is same? If so try different session…

Sometimes i can two exactly same watch face…meaning 2 identical package…

Same label, package name but loaded as 2 different watch face…

maybe you can only change this during a publish. not during testing.

the package name can be change in this image

i can confirm that all my different watchfaces i push to my watch using the methods i used. did not change the packagename in the json file. but i still managed to push different watch faces. and is view on the watch and wearable app as different label also.

but like i said the observation when it does not work I just create a new debug session. that solved the issue. So it not the package name doing the replacement. maybe its the debuging session.

but if you really want to change the package name check my above reply;

Just going to drop this for now. As I said, somehow my last shot above created three surviving versions on my watch, even though the same process did not do so many times before. These are the versions I need. So next time I may look into the publish mechanism, but not now. Since I do not intend to publish the result of all this, just use it on my watch, it does seem strange.

Thanks for the interest and the research.

Just try do the reconnection of new session if all this including package name doent matter. As long u got all version in your watch. So if need 4th version just reconnect new debug session

Anyway publish doesnt put it online…it just prepares a release version. Instead of debug version. To really publish to google i think u need to do upload