[Android Software Development] Diamondback:
Themers on XDA face a huge problem when it comes to paid apks. They can't theme apks and distribute their work since that would be considered warez.

Since we - the moderators - spend a lot of time closing threads where someone accidentially published such a theme, Forum Moderator Whiskey103 came up with an idea.

What if the themer doesn't distribute the entire apk, but only his themed parts? This would be totally allowed on XDA.

So Whiskey asked me if I can come up with a solution to this problem. And today we announce RTI - The remote theme injector!

Note: while this project is intended for paid apks, it still works with free apks too of course. This app might help you migrating themes to a new version of the apks too.

RTI basically consists of two parts:

The patcher (or themer)

And the editor which is needed to create themes

Patcher

This is a little windows app which takes the target apk and a theme file (more on that later) and automatically injects the theme into the desired apk.

Todo this, the apk gets decompiled, patched, recompiled, signed and zipaligned. All this happens automatically and requires no input from the user (which is in this case the user who wants to USE the theme)

The user has to provide the target apk on his own, this ensures no apks are distributed as part of the theme.

It can be pulled via ADB or Rootexplorer from the phone for example.

Editor

The first app was for applying a theme, the editor is for creating such themes.

It's a simple wizard style app which guides the themer through the required steps to create a theme file.

Each theme file contains not only the actually themed files but also its own version of apktool to ensure maximum compatibility and a set of settings specifically for the target apk

The settings include:

Package name of the target apk

Version number of the target apk

Which sign method to use (keep old signature, sign with a default key, sign with own key)

Whether the apk gets zipaligned or not

The workflow for the user is very easy:

Download theme (it contains the patcher and the theme file (or even multiple themes)

Fetch target apk from phone and copy it in the same directory as the patcher

Start patcher and wait until it's done

Install themed apk on device

The workflow for the themer isn't much harder:

Theme your apk just as you are used to it

provide TWO folders to the Editor, both folders need to contain the decompiled output of apktool

The first folder contains the unthemed, decompiled apk, the second one contains the themed and decompiled apk

Set the required settings in the editor and wait until generating the theme is done

Provide the user a download which contains the patcher and your created theme file

Screenshots:

Editor:

Patcher:

Changelog

2.12.1.5665

Added support for smali modification for advanced themes

Some bug fixes and UI improvements

1.9.5.191

Important: This version brings some breaking changes, so please

do not

mix an old rti file with the new patcher. It won't work. You have to recreate your theme files if you want to use the new patcher.

Changed signing options. Removed java jarsign and added signapk.jar instead. This has a far better compatibility and doesn't require an installed Visual C++ runtime.

Possible signing options now:

Use 'test keys': Use a pre defined set of keys from me to sign the apk

Use 'own keys': you have to provide your own set of keys (key.pk8 and certificate.pem) to sign the apk

Keep old signature: NOT recommend, this has a few use cases, but usually won't work. Use one of the other two options if you are not sure.

Improved error detection on the folder selection page. It can tell you some common errors now if you make them.

1.7.6.113

Initial release

Example themes

Tapatalk Pro/Free by Whiskey103

XDA Premium Red and Blue by Whiskey103

Requirements (this is both for Editor and Patcher)

Windows XP SP3 or newer (excluding all Windows 8 versions)

Microsoft .NET framework 4.0 FULL

Oracle JRE (Java) (Always try to use the latest Java version)

Download

RTI 2.12.1.5665

Old versions:

RTI 1.9.5.191

RTI 1.7.6.113

Credits

Whiskey103 for the excellent idea

brut.all for apktool

Google for Android

My girlfriend for tolerating my work on XDA :D

My dog for keeping me happy :p