Questo è il modo in cui ho integrato l'easter egg Kitkat nella Rom 4.3 di un mio amico della sezione Nexus-xda
In questo modo verrà rimpiazzato il metodo che richiama l'activity Platlogo dal framework.jar, quella di Jellybean, con l'activity di una App contenente le risorse dell'Easter Egg KK originale...
1) Decompilare i Settings.apk
2) Aprire \Settings\smali\com\android\settings\DeviceInfoSettings.smali
3) Cercare "Plat"
In questo modo si trova il metodo relativo all'Easter Egg Jellybean.
Attenzione a fermarsi al primo che si trova, perché se fosse una Rom custom il secondo metodo che troverete sarà quello ad es. di Cyanogenmod relativo al suo Easter, o quello della PA e cosi via...
In questo es. ho modificato una Stock.
Cancellare la parte rossa di codice
e mettere al suo posto questa parte blu di codice:codice:.line 167 new-instance v0, Landroid/content/Intent; const-string v1, "android.intent.action.MAIN" invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V .line 168 const-string v1, "android" const-class v2, Lcom/android/internal/app/PlatLogoActivity; invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; .line 171 :try_start_0 invoke-virtual {p0, v0}, Lcom/android/settings/DeviceInfoSettings;->startActivity(Landroid/content/Intent;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
codice:.line 167 new-instance v0, Landroid/content/Intent; const-string v1, "android.intent.action.MAIN" invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V .line 168 new-instance v1, Landroid/content/Intent; const-string v2, "android.intent.action.MAIN" invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V .line 169 .local v1, intent:Landroid/content/Intent; new-instance v2, Landroid/content/ComponentName; const-string v3, "com.adhi.kitkat.easteregg" const-string v4, "com.adhi.kitkat.easteregg.PlatLogoActivity" invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent; .line 171 :try_start_0 invoke-virtual {p0, v0}, Lcom/android/settings/DeviceInfoSettings;->startActivity(Landroid/content/Intent;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
Ovviamente il numero della linea che si aggiunge dipende dalla Rom, basta seguire la semplice regoletta... linea nuova= linea precedente + 1
;-)
4) Recompilare
5) Installare questa App (modificata e compilata da codice sorgente per risultare nascosta dal launcher) come un normale apk
Kitkat-EasterEgg.apk
Qui trovate il primo creatore dell'app (jetx2x)
http://forum.xda-developers.com/show....php?t=2511147
e qui il repository che ho usato per compilare l'app della guida
https://github.com/adhi1419/Kitkat-EasterEgg
in caso non sappiate fare questo mod, in questo thread trovate anche l'app con il .launcher compilata da adhi sul sorgente di jetx2x
http://forum.xda-developers.com/show....php?t=2544030

LinkBack URL
About LinkBacks
Ultima modifica di enricocid; 12-12-13 alle
Rispondi quotando

