So I successfully built a Keyboard and then via android studio, released a successful app into the play store that a few native speakers are testing. After all this, my computer crashed and I lost the files. I need to make a few changes and am wondering how to add the right files to keyman developer to make the changes. Fortunately I emailed the .kmb file to a friend before I started working in android studio and here’s what I was able to extract from it:
Technically, all of the relevant keyboard details are encoded in the .js file, such as layout, rules, and css, but they’re pretty well obscured in JS logic and no longer in KM format. My suggestion would be to install the app on your phone, and rebuild it in KM Dev based on that model. For a Greek keyboard, I’m assuming that you don’t have very complex rules in the KMN, and also that you didn’t change kmsample2 very much.
One note, you accidentally published it to Google using the default “com.keyman.kmsample2”, so you will need to remove and republish it with our own custom/personal link since this is not an internal Keyman production.
This sort of data loss, and even much smaller ones, is a good argument for using such systems as Github for storing your code, doing versioning, and testing. There’s no way I could have gotten my Cameroon keyboard app to this level where it is without version-control.
The last thing you will need are your Android developer keystores and passwords, which I hope you still have somewhere. Since you’re going to have to delete and resubmit anyway, you could create a new keystore/password for the new app.
Finding the end of the touch layout is a little trickier because you’ve got to find the terminating ;. The easiest way may be to look for the next this keyword.
You need to select everything between the this.KVKL= and the terminating ;.
Note that if the keyboard was compiled with debug on, it will have additional whitespace and possibly comments and the regex I provided won’t be adequate.
Respectfully, due to the inactiveness of the conversation, this topic is now closed for any further discussion.
Please feel free to create a new topic if there is any question or the issue persists.