Bez dalších okolků, pojďme začít!!
KROK – 1: Otevřete Android Studio
Pokud nemáte jej, můžete si jej stáhnout zde: odkaz.
KROK – 2: Výběr aktivity
 Vytvořte nový projekt Android Studio. (Viz obrázek níže) 
 Tento tutoriál udržuji jednoduchý, nemusíme vytvářet žádnou aktivitu, protože právě měníme barvu hodin stavového řádku. 
 Vyberte Žádná aktivita a přejděte na Další. 
   
KROK – 3: Konfigurace projektu
   
 Zadejte název a název balíčku pro vaši aplikaci. Ponechte jazyk jako Javu, pokud jste obeznámeni s Kotlinem, jděte do toho – nebude tu tolik tvrdého kódování, protože se jedná o druh vývoje aplikace / modulu „hello-world“. 
 Dodržuji minimální API úroveň na 15. 
 Poté stiskněte tlačítko Dokončit. 
KROK – 4: Upravte svůj build.gradle (aplikaci) & Přidat níže závislosti:
Potom synchronizujte projekt.
KROK – 5: Upravte soubor manifest.xml:
Přidejte níže tagy metadat uvnitř tagu aplikace:
 Název by měl být xposedmodule a hodnota true. Zdroj nechte prázdný. Poté opakujte totéž pro xposedminversion (verze API z předchozího kroku) a xposeddescription (velmi krátký popis vašeho modulu). 
KROK – 6: Vytvoření třídy:
package com.myfirstxposedmodule;
public class MyModule {
}
Toto je naše třída, kterou v budoucnu upravíme.
KROK – 7: Vytvoření a úprava souboru xposed_init:
   
 Změňte zobrazení adresáře na zobrazení Projekt. Přejděte do aplikace > src > main. Klikněte pravým tlačítkem na hlavní a vyberte nový > adresář. 
 Pojmenujte jej: assets 
 Klikněte pravým tlačítkem v nedávno vytvořeném assets adresáři vyberte nový > soubor. 
 Pojmenujte jej: xposed_init (vyberte text pokud to vyžaduje typ souboru). 
 Uvnitř souboru xposed_init přidejte celé jméno naší třídy Java. tj. v našem případě to bude vypadat takto: 
com.myfirstxposedmodule.MyModule
Takto Xposed framework identifikuje náš modul a načte jej na boot. Tento soubor řekne rozhraní, které třídy se mají načíst, což také uvidíme v protokolech.
KROK – 8: Upravit třídu MyModule:
package com.myfirstxposedmodule;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import de.robv.android.xposed.XposedBridge;
public class MyModule implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
}
}
 Implementujte IXposedHookLoadPackage a implementujte metodu handleLoadPackage, jak je uvedeno výše. 
 Teď si to vyzkoušíme vložením funkce protokolu do této handleLoadPackage metody: 
XposedBridge.log("Loaded app: " + lpparam.packageName);
 Tím se vytisknou načtené moduly. Obecně se tyto protokoly zaznamenávají do tohoto souboru: /data/data/de.robv.android.exposed.installer/log/debug.log (který je snadno přístupný pomocí instalačního programu Xposed). 
KROK – 9: Spusťte kód:
   
Pokud se přímo pokusíte spusťte to ze studia Android, zobrazí se tato chyba. Což je v pořádku, protože právě teď neprovádíme žádnou aktivitu.
Každopádně se nebojte, mám řešení. Stačí upravit konfiguraci spuštění a změnit možnost spuštění z výchozí aktivity na nic a vybrat OK.
   
Nyní se znovu pokuste spustit (Windows: Shift + F10).
Po úspěšném spuštění na vašem zařízení Tento modul uvidím v seznamu modulů aplikace Xposed Installer. Jak je znázorněno na následujícím obrázku, můžete také vidět text popisu, který jsme zadali do souboru manifestu.
   
Aktivujte tento modul zaškrtnutím políčka a restartujte zařízení.Po restartu otevřete aplikaci Xposed Installer a otevřete protokoly (můžete také otevřít soubor protokolu, který jsem výše zmínil o jeho cestě). Uvidíte řádky jako toto:
Nyní, když víte, jak vytvořit a spustit modul Xposed, můžeme jít hlouběji do hloubky, abychom se podívali na kód stavového řádku a použili některé z našich vlastních implementací.
KROK – 10: Kopání do kódu stavového řádku:
 Nyní nás zajímá získání hodin (textu) ze stavového řádku (který sídlí v  balíček). Jak víte, Android je operační zdroj s otevřeným zdrojovým kódem, takže můžete vidět vnitřní obsah kódu. Zdrojový kód systému Android si můžete stáhnout z TOTO odkazu. V závislosti na verzi systému Android a vašem rom mohou nastat některé změny. Od této chvíle nás zajímá pouze nalezení kódu našich hodin. Uvnitř balíčku com.android.systemui je někde Clock.java třída a tato třída rozšiřuje TextView což znamená že s tímto můžete zacházet podobně jako s TextView. TOTO je odkaz na tuto třídu. Existuje jedna metoda, která aktualizuje čas na stavovém řádku, jehož název je updateClock(). Podívejte se na níže uvedený úryvek: 
Co teď chceme? Chceme spustit náš kód, kdykoli je tato metoda spuštěna. Což uděláme v dalším kroku, který se také nazývá hákování metody.
KROK – 11: Hákování metody:
 The XposedHelper je třída, která poskytuje některé pomocné metody. Jednou z pomocných metod, kterou budeme potřebovat, je findAndHookMethod, která převezme celý název třídy v String zavaděči tříd (můžeme ho získat z XC_LoadPackage.LoadPackageParam z handleLoadPackage), název metody, kterou chceme sledovat (v našem případě updateClock) v String a XC_MethodHook zpětném volání (což je jednoduše zpětné volání). Níže bude náš kód 
 Ve výše uvedeném kódu můžete vidět, že existují dvě metody, které jsem implementoval v anonymní třídě XC_MethodHook, které jsou beforeHookedMethod a afterHookedMethod. Jak název napovídá, první bude spuštěn před zaháknutou metodou a druhý bude proveden po zaháknuté metodě (v našem případě updateClock). Parametry pro argumenty a návratové typy jsou zpracovány argumentem MethodHookParam. Ale teď už jen chceme změnit barvu hodin na stavovém řádku, jednoduše budeme potřebovat afterHookedMethod. 
 Budeme potřebovat přístup k tomu TextView objekt, který můžeme získat z param.thisObject – bude to stejné jako this klíčové slovo v Clock.java třída. Pak jej můžeme vrhnout na TextView a pak můžeme jednoduše změnit barvu tohoto TextView objektu a také upravit text jako já : 
KROK – 12: Spusťte modul:
Spusťte kód a znovu restartujte zařízení. Uvidíte své hodiny červeně a ten text emodži, který jsme připojili.
   
To je vše !! Vím, že restart je na hovno! ale hej, vytvořili jste si vlastní Xposed modul, není to tak skvělé ?? !!