[ANLATIM] Ayarlara Yeni Menu Ekleme

Orochi™

Administrator
#1
Artisliğe Mahal vermemek için Bu Konu Açılmıştır  Türkçe Anlatım bana Aittir
anlatımdaki Dosyalar bana aittir

Kitkat Romlarında Denenmiştir JB de %99 çalışır test etme imkanım Olmadı

Bu Konuda Ayarlar Uygulamasına Yeni Menu  EKlemeyi Anlatacağım
Benim Gidgat  Plus - Xperia Z3 ve Vibe-kat romlarında olan  

Yeni Menu açarak Bu menuye Ekleyeceğiniz Yeni Kısayolları Yada Uygulamaları Ekleyebilirsiniz

Düzenyeceğiniz Ayarlar Uygulamasını Apktool yada Advanced Apktool ile Decomp Edin

Decomp etitğiniz ayarlar uygulamasının klasörüne girin
Res/xml Klasörüne Giriyoruz SettingsHeader.xml Dosyasını note Pad plus ile açın
istediğini Bi Yere aşağıdaki kodları Ekleyin

<header android:icon="@+drawable/icon_ismi" android:id="@+id/orochi_theme_settings" android:title="Sekmede Yazıcak Metni Buraya Girin" android:fragment="com.android.settings.OrochiThemeSettings" android:breadCrumbTitle="" />

icon_ismi Yazan yere Kendi İkonunuzun Adını yazın örnek advanced_menu

daha sonra aşağıdaki  orochi_theme_settings.xml dosyasını indirin  apknın xml klasörüne ekleyin
Linkleri görebilmek için Giriş yap veya üye ol.


ekleme işiniz bittiysen şimdi res/values klasöründen public.xml Dosyasını Açın
aşağıdaki satırı  xml bölümünün altına Ekleyin
    <public type="xml" name="orochi_theme_settings" id="0x7f06005a" />
kırmızı ile gösterdiğim bölüm xml hex idsidir bunu uygulamanızda xml girdilerinde son hex idsi ne ise ondan bi sonraki id giriceksiniz
örnek olarka son id 0x7f060058 bitiyorsa bundan sonraki 0x7f060059 dur
Son id 0x7f060059 ile bitiyorsa bundan sonraki 0x7f06005a dır
Konun En Altında Hex kod Sıralamasını ekliyorum Ona bakarak Yeni xml  Dosyası için id Oluşturun ve bu id  bi yere not edin işlemin son aşamasında gerekicektir

Neyse lafı Uzatmadan Eklediğimiz BU Xml Dosyası Ayarlara Eklenen Yeni Menunun içeriğini Belirler
@string/orochi_gg_settings  @string/orochi_keylight vb string yazan girdiler için  
 yeni dilleri ekleyin  bunu ayarlarmak için values/strings.xml ve values-tr/strings.xml dosyalarına
eklediğiniz string kodlarını ve metinlerii eklemelisiniz

bu menunun içeriği böyledir siz ekleyeceğiniz kısayolları yeniden Düzenlemelisiniz
yada benim Romlarımda bu menude olan uygulamaları kendi romunuza ekleyebilirsiiniz zevk sizin


<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:persistent="false" android:eek:rderingFromXml="true"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory android:id="@+id/orochi_gg2" android:title="@string/orochi_gg_settings" />
    <Preference android:icon="@drawable/ic_orochi_superuser" android:title="Superuser">
        <intent android:targetPackage="com.koushikdutta.superuser" android:action="android.intent.action.MAIN" android:targetClass="com.koushikdutta.superuser.MainActivity" />
    </Preference>
    <Preference android:icon="@drawable/ic_orochi_cpu" android:title="Cpu Control">
        <intent android:targetPackage="it.sineo.android.noFrillsCPU" android:action="android.intent.action.MAIN" android:targetClass="it.sineo.android.noFrillsCPU.activity.MainActivity" />
    </Preference>
    <Preference android:icon="@drawable/ic_orochi_light" android:title="@string/orochi_keylight">
        <intent android:targetPackage="com.deskangel.kblight" android:action="android.intent.action.MAIN" android:targetClass="com.deskangel.kblight.kbLight" />
    </Preference>
    <Preference android:icon="@drawable/ic_orochi_navi" android:title="@string/orochi_nav">
        <intent android:targetPackage="com.fatedevgroup.softkeyenabler" android:action="android.intent.action.MAIN" android:targetClass="com.fatedevgroup.softkeyenabler.SplashScreen" />
    </Preference>
    <Preference android:icon="@drawable/ic_settings_flashlight" android:id="@id/flash_light_settings" android:title="@string/agold_support_flash_light_function" android:fragment="com.android.settings.AgoldFlashLightSettings" />
    <Preference android:icon="@drawable/ic_orochi_engineermod_tools" android:title="@string/orochi_engmode">
        <intent android:targetPackage="com.mediatek.engineermode" android:action="android.intent.action.MAIN" android:targetClass="com.mediatek.engineermode.EngineerMode" />
    </Preference>
    <Preference android:icon="@drawable/ic_orochi_screnfilter" android:title="@string/orochi_nightmode">
        <intent android:targetPackage="com.orochi.app.nightmode" android:action="android.intent.action.MAIN" android:targetClass="com.orochi.app.nightmode.Settings" />
    </Preference>
</PreferenceScreen>



Şimdi Sıra Geldi Son işleme
Smali/com/android/settings klasörünü bulun
Aşağıdaki Smali Dosyasını bu Klasöre Ekleyin
Linkleri görebilmek için Giriş yap veya üye ol.


Bu Smaliyi EKledikten sonra Xml dosyası için yeni Hex İdmizi Bulun Smali Dosyasını Açın
Kırmızı ile gösterdiğim yere sizin id kodunuzu Ekleyin


.class public Lcom/android/settings/OrochiThemeSettings;
.super Landroid/preference/PreferenceFragment;
.source "OrochiThemeSettings.java"


# direct methods
.method public constructor <init>()V
    .locals 0

    .prologue
    .line 22
    invoke-direct {p0}, Landroid/preference/PreferenceFragment;-><init>()V

    return-void
.end method


# virtual methods
.method public onCreate(Landroid/os/Bundle;)V
    .locals 1
    .param p1, "savedInstanceState"    # Landroid/os/Bundle;

    .prologue
    .line 26
    invoke-super {p0, p1}, Landroid/preference/PreferenceFragment;->onCreate(Landroid/os/Bundle;)V

    .line 28
    const v0, 0x7f06005a

    invoke-virtual {p0, v0}, Lcom/android/settings/OrochiThemeSettings;->addPreferencesFromResource(I)V

    .line 29
    return-void
.end method



hepsi Bu kadar Menulere eklenen idler  - ikonlar ve  girilen Metinler için her şeyi hatasız yaptıysanız ayarlar uygulaması hata vermeden kapanır  




Hex kod Sıralaması
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f





hata almadan yapmışsanız buna benzer bi Sonuç alırsınız görüntü romunuza göre değişir bunu unutmayın O0
 
#5
Neyse lafı Uzatmadan Eklediğimiz BU Xml Dosyası Ayarlara Eklenen Yeni Menunun içeriğini Belirler
@string/orochi_gg_settings  @string/orochi_keylight vb string yazan girdiler için  
yeni dilleri ekleyin  bunu ayarlarmak için values/strings.xml ve values-tr/strings.xml dosyalarına
eklediğiniz string kodlarını ve metinlerii eklemelisiniz
hocam şu alıntı yaptığım yeri anlayamadım. string.xml dosyasına nasıl ekleyeceğim bu girdileri?
 

Orochi™

Administrator
#6
olaya açıklık getirelim
Xmllerde olan android:title="@string/orochi_gg_settings" 
bu komutta @string/orochi_gg_settings  bu satırda gözükecek metindir
bunu eklemek için

ornek olarak  aşağıdaki gibi bi komut hazırlayıp bunu res/values/strings.xml klasörüne ekleyin
bu eklediğimiz apknın ana dili ingilizce içindir
    <string name="orochi_gg_settings">Gidgat Advanced Settings</string>

türkçe içinde metin ekleyecekseniz örnek olarak aşağıdaki satırı
values-tr/strings.xml klasörüne ekleyin
    <string name="orochi_gg_settings">Gidgat Gelişmiş Ayarlar</string>

Xml de android:title="@string/orochi_gg_settings"  bu tarz metin komutu varsa bu komutta yazan metin satırının adı nı ve metnini strings.xml lere eklemek zorundasınız


Not : Yeni Bir Metin girdiğiniz Zaman Xmldeki Kodun Başına + eklerseniz public.xml e id si otamatik girilir
android:title="@+string/orochi_gg_settings" 
 
#7
Mesut hocam şu hatayi aldim bi bakarmisiniz:




Kod:
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:4: error: Error: No resource found that matches the given name (at 'id' with value '@id/orochi_gg2').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:4: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_gg_settings').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:5: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_superuser').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:8: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_cpu').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:11: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_light').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:11: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_keylight').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:14: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_navi').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:14: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_nav').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_settings_flashlight').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'id' with value '@id/flash_light_settings').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'title' with value '@string/agold_support_flash_light_function').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:18: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_engineermod_tools').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:18: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_engmode').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:21: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_screnfilter').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:21: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_nightmode').
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/apktool/openjdk/bin/aapt4.4, p, --min-sdk-version, 19, --target-sdk-version, 19, --version-code, 19, --version-name, 4.4.4-116f35f5e2, -F, /data/data/per.pqy.apktool/APKTOOL3627933821541213458.tmp, -0, arsc, -I, /data/data/per.pqy.apktool/1.apk, -S, /sdcard/apktool/Settings_src/res, -M, /sdcard/apktool/Settings_src/AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:459)
at brut.androlib.Androlib.buildResources(Androlib.java:397)
at brut.androlib.Androlib.build(Androlib.java:285)
at brut.androlib.Androlib.build(Androlib.java:256)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/apktool/openjdk/bin/aapt4.4, p, --min-sdk-version, 19, --target-sdk-version, 19, --version-code, 19, --version-name, 4.4.4-116f35f5e2, -F, /data/data/per.pqy.apktool/APKTOOL3627933821541213458.tmp, -0, arsc, -I, /data/data/per.pqy.apktool/1.apk, -S, /sdcard/apktool/Settings_src/res, -M, /sdcard/apktool/Settings_src/AndroidManifest.xml]
at brut.a
 

Orochi™

Administrator
#8
Kod:
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:4: error: Error: No resource found that matches the given name (at 'id' with value '@id/orochi_gg2').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:4: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_gg_settings').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:5: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_superuser').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:8: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_cpu').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:11: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_light').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:11: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_keylight').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:14: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_navi').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:14: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_nav').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_settings_flashlight').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'id' with value '@id/flash_light_settings').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'title' with value '@string/agold_support_flash_light_function').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:18: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_engineermod_tools').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:18: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_engmode').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:21: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_screnfilter').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:21: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_nightmode').
hatalar bunlar strings.xml e diller eklenmemiş + id ler eklenmemiş  + resimler eklenmemiş :)
 
#9
Cvp: RE: [ANLATIM] Ayarlara Yeni Menu Ekleme

Orochi™' Alıntı:
Kod:
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:4: error: Error: No resource found that matches the given name (at 'id' with value '@id/orochi_gg2').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:4: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_gg_settings').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:5: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_superuser').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:8: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_cpu').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:11: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_light').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:11: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_keylight').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:14: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_navi').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:14: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_nav').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_settings_flashlight').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'id' with value '@id/flash_light_settings').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:17: error: Error: No resource found that matches the given name (at 'title' with value '@string/agold_support_flash_light_function').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:18: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_engineermod_tools').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:18: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_engmode').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:21: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_orochi_screnfilter').
/sdcard/apktool/Settings_src/res/xml/orochi_theme_settings.xml:21: error: Error: No resource found that matches the given name (at 'title' with value '@string/orochi_nightmode').
hatalar bunlar strings.xml e diller eklenmemiş + id ler eklenmemiş  + resimler eklenmemiş :)
Resim ve strings hallederimde id konuda goremedim onu nasil halletcem hocam?
 

Orochi™

Administrator
#10
Cvp: RE: [ANLATIM] Ayarlara Yeni Menu Ekleme

Kadirdroid' Alıntı:
Resim ve strings hallederimde id konuda goremedim onu nasil halletcem hocam?
@id/orochi_gg2  id kodlarının başındaki @ işaretinden Sonra + ekleyeceksin @+id/orochi_gg2 hepsi bu kadar
apktool vb id için kodları ids.xml ve public.xml e  Ekleyecektir .

+ kodu public.xml e hex kodlarını kendi girer yine resimler ve stringsler içinde + kodu eklersen public.xml e elle 
kod girmek zorunda kalmazsın :)
 
Üst