[Amazfit] LOTG:
So I have been looking in to this, I don't have a pace but a Stratos and used the APK from this. Reading through the issues I think the problems with the latest firmware are the same.

My laptop battery died so this is of the top of my head.

createClockLayout has been split in to two separate methods: createClockLayoutWc26 (something with a 6 at least) and createClockLayoutW8 (yes no C in the 8 one) (I might have switched the C an W but I don't think it matters for the explanation).

I'm not sure what the difference is, but my first guess would be low power for the 8 one.

Then they changed the Utils API that was used to get bytes from images, this is gone. I dug a little through the official watchfaces and found they are using a SimpleFile call that takes a context instead of a service. Seems like an easy fix as we can get the context from the service. A better way would be to use the config method (also new and has to be implemented, easy to do) but I'm just looking to get it working.

Now the one thing I could not figure out was the digits. They seem to have ditched the option to use text for linear layouts, all the official ones seem to use images for digits. It is still possible to use text but only for widget types it seems. It's not possible to use a widget layout as there is no way to set the hour thing (forgot the name) on it.

I'm guessing it would be easy to take a lot of it from the Pace watchface (time travel?) As it looks mostly the same on the digit front but as I have no Pace I can't copy the APK. The other way would be to use the images.

I'll look into it some more tomorrow (when I have my laptop charger). I'm not entirely convinced my patch jobs will work but I do thing I can at least modify an existing design to do something similar.

Edit:

So, laptop is plugged in and I can make the whole a bit more accurate.

- createClockLayout has been split in to createClockLayout26WC and createClockLayout8C. I've been digging through the assets of the official watchfaces and 26WC is active and 8C is passive display.

- Util.assetToBytes is gone, it seems to have been replaced with SimpleFile.readFileFromAssets. Instead of passing a service I passed it service.getApplicationContext() as this is what Huami seems to do.

- initWatchFaceConfig has been added on AbstractSlptClock and has to be implemented, this is where Huami stores the context from service.getApplicationContext()

- setStringPictureArrayForAll on SlptHorizontalLayout is gone and has no replacement, at least I could not find any. I don't have the old code so I can't see how it used to work.

I'll look in to it some more later and maybe figure out how to fix the last issue and it should compile.

Then it is fingers crossed that it will work.

Edit 2:

Ok I downloaded the DrBourbon APK (has some nice fancy watchfaces, does not work on my stratos. It is quite anoying when a watchface keeps throwing errors and you are trying to get out of the error message), decompiled it and now I can see the difference.

Bottom line, there is no reason why they removed the setStringPictureArrayForAll. It should work, the none picture one has the same flow and it boils down to a SlptNumView child component. This has the option to use strings and it is still used by the power/step/etc. components.

You put an SlptHourHView component on it and this implements the SlptNumView.

Strange...

Edit 3:

Managed to work around the last error, however I have been trying to get it to build but I'm stuck with "mismatched stack depths". Great error that I can find nothing about. It seems the execution stacks have a different size but where this comes from is beyond me. Google was not my friend on this.