[Android Themes] berryman13:
Now, there was a lot of contention over this in the original SuperSwiftKey thread and I wanted to first apologize for the drama which I accidentally started - I was never intending to steal anybody's work and claim credit for it, nor did I intend to release other's work against their permission [I thought the project was dead]. In this thread, I will be teaching you (with pictures) how to create your very own hand-selected superswiftkey APK and update it immediately upon swiftkey updates, with minimal work! If you can use Notepad++ and Winrar and follow instructions, keep reading!

With that out of the way, thanks first to....

[MENTION=4375224]jaggyjags[/MENTION] - for his work on Themed SwiftKey V12

[MENTION=2847101]sonnysekhon[/MENTION] - for his work on SuperSwiftKey

[MENTION=2126467]djdarkknight96[/MENTION] - :p the BOY!!!

Changelog:
v3 - Appended OP with instructions to remove spacebar logo and update to betas on your own
v2 - Updated December 5th, 2014 - How to do on mobile devices and how to update to newer SwiftKey.
v1 - Created on November 30th, 2014

MAY 8, 2015:

Update to guide:

Step 1: Pick your base apk (Stable or Beta) -- this is SUPERSWIFTKEY by Sonny and DJDarkKnight96 :)

SuperSwiftKey-5.2.2.133.apk: https://www.androidfilehost.com/?fid=23991606952598509

or

SuperSwiftKey-Beta-5.3.0.77.apk: https://www.androidfilehost.com/?fid=23991606952598508

Step 2: Make sure you have 7-zip or WinRar installed if on a windows and open the apk as an archive, this is so we can access the Themes individually and choose which we want to include in our final signed apk. Now would be a good time to get an apk signing tool as well!

Step 3: Download your target. For me, it's the latest SwiftKey Beta (May 7th) and removing the logo from the keyboard. So here's how on a windows (or mac or unix, it's the same concept.)

SwiftKey Keyboard Beta 5.3.0.85: http://www.apkmirror.com/apk/swiftk...-keyboard-beta-5-3-0-85-android-apk-download/

Step 4: Open the latest apk target with 7-zip, and do the same with the super version, so you can extract the themes folders and json file.

Step 5: Delete everything in \assets\themes\

Step 6: Add your modified themes folder to your apk file instead, compression will take a little bit of time.

Step 7 (Optional): Remove SwiftKey logo from spacebar!

Navigate to: \res\drawable-YOURRESOLUTION\ and make branded_spacebar_logo.png a transparent image, once everything is appended, you need to sign the apk again and you're done.

If any of this is unclear then please read my full thread, this is simply an update!

-------------------------- PART 1 - CREATING CUSTOM APK ON A COMPUTER --------------------------

1) Pre-Requesite Files and Applications

Download our SwiftKey “base”- https://www.androidfilehost.com/?fid=95784891001615911

Apktool 2.0 RC2 (Not required, but useful for really decompiling and taking apart more of the apk) - http://xdaforums.com/showthread.php?t=1755243

Some Sort of APK Manipulator:

APK Multi-Tool (To sign the final APK)

Windows: http://xdaforums.com/showthread.php?t=1310151

Linux: http://xdaforums.com/showthread.php?t=1808319

apk-signer - https://code.google.com/p/apk-signer/ (just a .jar, no bloat/extra tools)

In the following image you will see what the themeslist.json file looks like. It is found inside your swiftkey apk in /assets/themes/ We’re going to clean it up and get it ready to start hacking.

{
"themes": [
{
"formatVersion": 1,
"minorVersion": 6,
"id": "nickel",
"name": "Nickel"
},
{
"formatVersion": 1,
"minorVersion": 7,
"id": "cobalt",
"name": "Cobalt"
},
{
"formatVersion": 1,
"minorVersion": 4,
"id": "ics",
"name": "Holo"
},
{
"formatVersion": 1,
"minorVersion": 4,
"id": "dark",
"name": "Dark"
},
{
"formatVersion": 1,
"minorVersion": 6,
"id": "darkalt",
"name": "Forest"
},
{
"formatVersion": 1,
"minorVersion": 4,
"id": "default",
"name": "Light"
},
{
"formatVersion": 1,
"minorVersion": 4,
"id": "neon",
"name": "Neon"
},
],
"version": 1
}

Right, so this is my “stock” Default SwiftKey apk and contains 20 folders and 1 file, but for our purposes (using the stock SwiftKey straight updated from the play store) as our base, I will tidy the themes folder…. this is in preparation of adding the new files to it! This is themeslist.json, I edited it to remove some themes I found undesirable. It’s quite intuitive.

Also, make sure the last theme block doesn’t have a }, comma following the closing bracket! Every single one should except for the last.

2) Adding 3rd Party Themes to the Installed Themes List:

Example A.

Open your target apk. In our case, this is the newest swiftkey play store apk. In WinRar (I use winrar above in pic. A) but all you need to do is delete the contents of your themes folder in swiftkey.apk/assets/themes/* - the folders and .json go bye bye to be replaced with our work :)

Example B

In Example B, I show the edited apk’s contents of the themes folder. I want to keep Cobalt, Nickel, and some other stock themes so I kept those.

Open Notepad++ or your preferred text editor, and use some common sense to figure out how the JSON blocks are structured.

{
“formatVersion”; 1,
“minorVersion”; 4,
“Id”: “ics”,
“name”; “Holo”
},

Example C

In this picture, Example C, I point out the final part of the document and how it has to be formatted. Notice the last } for the individual themes has NO comma, and the rest of the document is standard.

Example D

3) Removing Stock Themes

In Example D, I demonstrate how to REMOVE themes that I don’t want (the stock ones for the most part, as well as to not have a SwiftKey with 125 themes...talk about useful! *sarcasam*

This is for you guys who want the most minimal apk possible. As you can see I include the entire block for each theme and also remove their corresponding theme folder from the apk.

Example E

In themeslist.json, select the blocks for the themes you wish to REMOVE and delete them.

Make sure to keep the file structure as it is.

If you guys have any questions on the process please ask, it's pretty straightforward so I figured I didn't need to go that in-depth about it.

ADDED FRIDAY, DECEMBER 05 2014. :)

HOW TO DO THIS ON A MOBILE DEVICE! ALSO, GUIDE TO UPDATING TO BETA APK AND KEEP UP-TO-DATE WITH SWIFTKEY!

-------------------------- PART 2 - CREATING CUSTOM APK ON AN ANDROID DEVICE --------------------------

Needed apps:

X-Plore File Manager (Play Store)

ApktOOl 4.6 - DOWNLOAD

Step 1: Set up X-Plore File Manager.

Open X-Plore File Manager and navigate in one of the panels to the Download directory of the edited swiftkey. It is recommended you make a directory to put your two apk files and extracted themes (more on this later).

Step 2: Extract the themes from SuperSwiftKey.

Within your SuperSwiftKey apk file, now opened up as a .zip within X-Plore, navigate to /assets/ and long press the folder /themes/. Make sure your SwiftKey FOLDER (not apk) is open in the 2nd panel, and copy the folder from the apk to the SD card. This will take a few minutes.

(for reference, these are the themes within the SuperSwiftKey apk file, much more substantial than the original SwiftKey)

Step 3: Remove the themes folder from the Original SwiftKey.

Now switch to your Swiftkey folder and long press the ORIGINAL (or target) apk file. Open it as a zip like the original, and navigate to /assets/ - long press the /themes/ folder and hit “delete” - this will take a few minutes for the apk to repack itself.

Step 4: Move themes folder to New SwiftKey apk.

Now, here’s the most important part. You need to have x-plore set up properly with both windows in order to execute this command properly. In one tab, have your target swiftkey apk opened as a zip file, and navigated to /assets/ directory.

Switch to the other tab, and long press the themes directory you’ve extracted before. Press “Copy” to copy it to the /assets/ folder IN the apk. It will take 5-10 minutes to pack.

If you wish to remove themes from SwiftKey, you can edit the themeslist.json file (read the main guide for that)

This is what your final apk should look like before we leave X-Plore file manager:

Step 5: Sign and Install the APK

Open ApktOOl on your phone and accept the license agreement.

Then navigate to your Swiftkey folder, in my case it is:

/storage/emulated/0/SwiftKey/Swiftkeyblahblah.apk

Long-press your newly modified apk and select the option to “Get root access permission”

Then, don’t long-press but rather single-tap your apk file that you just got root access for, and of the many many options select “Sign”

THIS IS THE NEXT THING THAT I SEE ON BOTH OF MY DEVICES:

DON’T WORRY! This is fine! Just leave your phone for 5-10 minutes, it will pop up a tiny toast message when completed, and create a new SwiftKey apk file with the suffix -sign.apk. This means you’re set! Verify the size, and you’re good to go.

Now, you’re ready to install. Enjoy!