Default [ GUIDE ] [GB] how to hide the superuser and open it via settings as AOKP rom and etc

hay Xda


i want to share a simple Guide for newbie like me

oke lets talk about this guide

what are u need?

1. Decompile and recompile...
2. Superuser.apk
3. settings.apk
4. patient

first:

pull your settings.apk from your system
got to here if u dont know
http://forum.xda-developers.com/show....php?t=2141817

step 1

- Decompile superuser.apk

i used Superuser from clockworkmod
navigate to

androidmnaifest.xml

search this line
Code:
<category android:name="android.intent.category.LAUNCHER" />
change it to
Code:
<category android:name="android.intent.category.DEFAULT" />
recompile and sign

just for info :

Not all apks can be hide from launcher


step 2

this from my galaxy y 5360,different rom different device may be not same like this

- Decompile settings.apk

then navigate to

res/xml/settings.xml

then you find like this

Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/settings_label_launcher" android:key="parent"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
    <com.android.settings.IconPreferenceScreen android:title="@string/radio_controls_title" settings:icon="@drawable/ic_settings_wireless">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/call_settings_title" android:key="call_settings" settings:icon="@drawable/ic_settings_call">
        <intent android:targetPackage="com.android.phone" android:action="android.intent.action.MAIN" android:targetClass="com.android.phone.CallFeaturesSetting" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/sound_settings_title" settings:icon="@drawable/ic_settings_sound">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SoundSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/display_settings_title" settings:icon="@drawable/ic_settings_display">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DisplaySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/customizedkey_settings_title" android:key="customizedkey_settings" settings:icon="@drawable/ic_settings_customizedkey">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.customizedkey.CustomizedKeySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/security_settings_title" android:key="security_settings" settings:icon="@drawable/ic_settings_security">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SecuritySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/applications_settings" android:key="applications_settings" settings:icon="@drawable/ic_settings_applications">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.ApplicationSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/sync_settings" android:key="sync_settings" settings:icon="@drawable/ic_settings_sync">
        <intent android:action="android.settings.SYNC_SETTINGS" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/privacy_settings" android:key="privacy_settings" settings:icon="@drawable/ic_settings_privacy">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.PrivacySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/storage_settings" settings:icon="@drawable/ic_settings_storage">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.deviceinfo.Memory" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/language_settings" settings:icon="@drawable/ic_settings_language">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.LanguageSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/voice_input_output_settings" settings:icon="@drawable/ic_settings_speech">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.VoiceInputOutputSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/accessibility_settings" settings:icon="@drawable/ic_settings_accessibility">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.AccessibilitySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/dock_settings" android:key="dock_settings" settings:icon="@drawable/ic_settings_dock">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DockSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/date_and_time_settings_title" settings:icon="@drawable/ic_settings_date_time">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DateTimeSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/about_settings" settings:icon="@drawable/ic_settings_about">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DeviceInfoSettings" />
    </com.android.settings.IconPreferenceScreen>
</PreferenceScreen>
then add this under
</com.android.settings.IconPreferenceScreen>

Code:
<com.android.settings.IconPreferenceScreen android:title="@string/superuser" settings:icon="@drawable/ic_launcher_superuser">
        <intent android:targetPackage="com.koushikdutta.superuser" android:action="android.intent.action.MAIN" android:targetClass="com.koushikdutta.superuser.MainActivity" />
    </com.android.settings.IconPreferenceScreen>
and make sure like this

Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/settings_label_launcher" android:key="parent"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
    <com.android.settings.IconPreferenceScreen android:title="@string/radio_controls_title" settings:icon="@drawable/ic_settings_wireless">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/call_settings_title" android:key="call_settings" settings:icon="@drawable/ic_settings_call">
        <intent android:targetPackage="com.android.phone" android:action="android.intent.action.MAIN" android:targetClass="com.android.phone.CallFeaturesSetting" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/sound_settings_title" settings:icon="@drawable/ic_settings_sound">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SoundSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/display_settings_title" settings:icon="@drawable/ic_settings_display">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DisplaySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/customizedkey_settings_title" android:key="customizedkey_settings" settings:icon="@drawable/ic_settings_customizedkey">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.customizedkey.CustomizedKeySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/security_settings_title" android:key="security_settings" settings:icon="@drawable/ic_settings_security">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SecuritySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/applications_settings" android:key="applications_settings" settings:icon="@drawable/ic_settings_applications">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.ApplicationSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/sync_settings" android:key="sync_settings" settings:icon="@drawable/ic_settings_sync">
        <intent android:action="android.settings.SYNC_SETTINGS" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/privacy_settings" android:key="privacy_settings" settings:icon="@drawable/ic_settings_privacy">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.PrivacySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/storage_settings" settings:icon="@drawable/ic_settings_storage">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.deviceinfo.Memory" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/language_settings" settings:icon="@drawable/ic_settings_language">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.LanguageSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/voice_input_output_settings" settings:icon="@drawable/ic_settings_speech">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.VoiceInputOutputSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/accessibility_settings" settings:icon="@drawable/ic_settings_accessibility">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.AccessibilitySettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/dock_settings" android:key="dock_settings" settings:icon="@drawable/ic_settings_dock">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DockSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/date_and_time_settings_title" settings:icon="@drawable/ic_settings_date_time">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DateTimeSettings" />
    </com.android.settings.IconPreferenceScreen>
    <com.android.settings.IconPreferenceScreen android:title="@string/superuser" settings:icon="@drawable/ic_launcher_superuser">
        <intent android:targetPackage="com.koushikdutta.superuser" android:action="android.intent.action.MAIN" android:targetClass="com.koushikdutta.superuser.MainActivity" />
    </com.android.settings.IconPreferenceScreen> 
    <com.android.settings.IconPreferenceScreen android:title="@string/about_settings" settings:icon="@drawable/ic_settings_about">
        <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DeviceInfoSettings" />
    </com.android.settings.IconPreferenceScreen>
</PreferenceScreen>
then make a new line inside strings.xml
go to
res/values/strings.xml

Code:
<string name="superuser">Superuser</string>
or u can change name Superuser to whatever you want

then make a new png with resolution 32x32px (this is for ldpi device) and move ur png to res/drawable-ldpi

info

intent android:targetPackage="com.koushikdutta.superuser" means package installer for superuser
cmiiw

u can change it if u want to apply this to other apps

and this

android:targetClass="com.koushikdutta.superuser.Ma inActivity" means activity class in android manifest

just search and add .MainActivity
or if you not found it u can search this inside manifest
ex:
android:name=".activity.MainActivity"
android:targetActivity="HomeActivity"> cmiiw bcoz i not familiar with this..u can google it

ok finish

recompile sign and test



Work in My galaxy Y 5360 GB

May be work in ICS and up ..i haven't tested on ics jb KK


Moderator please remove this thread if not allowed in xda rules

thanks to

b 16h22
evan
ogy team
Googleh
etc

Thanks to him

Soory Bad english
Attached Thumbnails
Click image for larger version

Name:	attachment.php.png
Views:	19
Size:	22.4 KB
ID:	2710215