역시 SystemUI.apk 순정을 꺼내줍시다.


그리고 ASUT나 Apk Manager로 디컴파일 해주는건 이제 기본입니다.


그리고 projects\SystemUI.apk\res\layout 까지 따라오셔서 status_bar.xml를 메모장2 등으로 열어서


<?xml version="1.0" encoding="utf-8"?>

<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"

  xmlns:android="http://schemas.android.com/apk/res/android"

  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

    <LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">

        <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:paddingTop="3.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_weight="1.0" />

    </LinearLayout>

    <LinearLayout android:orientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">

        <LinearLayout android:orientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">

            <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />

            <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />

        </LinearLayout>

        <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />

        <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">

            <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />

            <ImageView android:id="@id/battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />

        </LinearLayout>

    </LinearLayout>

    <LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:background="@drawable/status_bar_bg_tile" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">

        <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">

            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />

            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />

        </ImageSwitcher>

        <com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">

            <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />

            <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />

        </com.android.systemui.statusbar.phone.TickerView>

    </LinearLayout>

</com.android.systemui.statusbar.phone.PhoneStatusBarView>


로 덮어씌우세요.

그다음 컴파일하시면 끝.

쉽죠?


저작자 표시 비영리 동일 조건 변경 허락
Creative Commons License
Creative Commons License
by 소피아네 2012/09/15 00:39

보통 상태바에 알림뜨는데, 그 색을 바꿔줍니다.


어김없이 C:\Apk_Manager_5.0.2\projects\SystemUI.apk\res\layout\status_bar_expanded.xml을 들어가줍시다.

중간의


<LinearLayout android:orientation="horizontal" android:background="@drawable/title_bar_portrait" android:paddingTop="3.0dip" android:paddingRight="3.0dip" android:paddingBottom="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">

        <com.android.systemui.statusbar.CarrierLabel android:textAppearance="?android:textAppearanceLarge" android:textColor="#ff000000" android:layout_gravity="center_vertical" android:id="@id/statusbar_CarrierLabel" android:paddingLeft="4.0dip" android:paddingBottom="1.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0" />

        <TextView android:textSize="14.0sp" android:textColor="#ff000000" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@android:drawable/btn_default_small" android:paddingLeft="15.0dip" android:paddingRight="15.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:text="@string/status_bar_clear_all_button" style="?android:attr/buttonStyle" />

    </LinearLayout>


부분을 찾아줍시다. 

보통 저기에 #ffd0d0d0 등이나 #ffffff 가 쓰여있을텐데, 자신이 보려고 하는 색으로 바꿔줍니다.

(블랙테마의 경우 보라색으로 바꾸거나.. 그래도 되겠죠? 설마 블랙테마 사용중인데 ff000000 하실분이..)

#ff RGB코드

이런 식으로 입력하신후 컴파일 해주시면 됩니다. 


참고로, 저렇게 하면 퀵패널 아이콘 밑의 헤더 부분의 글씨색이 바뀝니다. (전 검은색으로 바뀌었더군요.)

저작자 표시 비영리 동일 조건 변경 허락
Creative Commons License
Creative Commons License
by 소피아네 2012/09/14 00:22

1. 이름을 platlogo.jpg로 바꿔줍시다. (이스터에그로 쓸것)

2. framework-res.apk를 apk manager등으로 디컴파일 합니다.

3. project/framework-res.apk/res/drawable-nodpi/로 들어갑니다.

4. 3번에 있던 파일의 해상도와 1번에서 있는 파일의 해상도를 맞춰준 후, 덮어씌우기 합니다. 

5. 컴파일후 적용후 재부팅합니다.


=> 이스터에그?

이스터에그는 진저부터 추가된 것으로서, 버전을 표시하는걸로 알고있습니다.

문구 수정은 데오덱스를 거쳐야하지만, 이미지는 간단하게 framework-res.apk를 뜯는것만으로도 가능합니다.

이 기능을 이용하여 테마의 특징을 이용하실 수 있을겁니다.

(예를 들어 Theme by \\\ 라고 쓴다던지요. 는 데오덱스 후 스말리 수정)


= > 확인법

다들 아시겠지만 설정 -> 휴대전화 정보 -> Android버전을 광클해주시면 나타납니다.


저작자 표시 비영리 동일 조건 변경 허락
Creative Commons License
Creative Commons License
by 소피아네 2012/09/14 00:21

일단은, 순정 SystemUI.apk 을 준비합니다.

그리고 apk manager로 디컴파일 해주세요.

디컴파일 하고 projects\SystemUI.apk\res\layout 에 오시면, 여러개의 파일들이 있습니다.

그중 지금 해야될거는 퀵패널 배경 바꾸기 이므로 status_bar_expanded.xml을 메모장2(NotePad++) 등으로 열어주세요.

열면, 4번째 줄에 이런 구문이 존재합니다 


    <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/quick_setting" android:background="#fff6bfd0" android:layout_width="fill_parent" android:layout_height="48.0dip">


원래라면 #ffd0d0d0 >>100% 회색 으로 되있습니다.

저거를 RGB 색상표 또는 포토샵으로 참고합니다.

검은색일경우 #ff000000

핑키테마에 사용된 색은 #fff6bfd0

#ff뒤에 RGB 색상코드를 붙여주시면 됩니다.


그리고, 또 내려다 보시면


<LinearLayout android:gravity="center" android:background="#fff6bfd0" android:layout_width="fill_parent" android:layout_height="19.0dip">


이런게 존재합니다.

역시나 여기도 위에처럼 바꿔줍시다. (똑같은 색상으로 해야됩니다!)

만약, 밑에 뜨는 소리, WI-FI, Bluetooth, GPS, 3G의 색을 바꾸고 싶다면


<TextView android:textSize="13.0sp" android:typeface="sans" android:textColor="#ff000000" android:gravity="center" android:id="@id/statusbar_SoundMode" android:layout_width="60.0dip" android:layout_height="fill_parent" android:layout_marginLeft="1.0dip" android:layout_marginBottom="3.0dip" android:text="@string/statusbar_label_Sound" />


        <TextView android:textSize="13.0sp" android:typeface="sans" android:textColor="#ff000000" android:gravity="center" android:id="@id/statusbar_WiFi" android:layout_width="60.0dip" android:layout_height="fill_parent" android:layout_marginLeft="1.0dip" android:layout_marginBottom="3.0dip" android:text="@string/statusbar_label_WiFi" />


        <TextView android:textSize="13.0sp" android:typeface="sans" android:textColor="#ff000000" android:gravity="center" android:id="@id/statusbar_Bluetooth" android:layout_width="60.0dip" android:layout_height="fill_parent" android:layout_marginLeft="1.0dip" android:layout_marginBottom="3.0dip" android:text="@string/statusbar_label_Bluetooth" />


        <TextView android:textSize="13.0sp" android:typeface="sans" android:textColor="#ff000000" android:gravity="center" android:id="@id/statusbar_GPS" android:layout_width="60.0dip" android:layout_height="fill_parent" android:layout_marginLeft="1.0dip" android:layout_marginBottom="3.0dip" android:text="@string/statusbar_label_GPS" />


        <TextView android:textSize="13.0sp" android:typeface="sans" android:textColor="#ff000000" android:gravity="center" android:id="@id/statusbar_3G" android:layout_width="60.0dip" android:layout_height="fill_parent" android:layout_marginLeft="1.0dip" android:layout_marginBottom="3.0dip" android:text="@string/statusbar_label_3G" />


저 색들을 바꿔주시고 컴파일 해주세요.

(컴파일시 is this system app? 하면 바로 n 쳐주시고, place-apk-here-for-modding 폴더에 unsignedtwdSystemUI 나오면, 그것을 열어서 res\layout\ status_bar_expanded.xml 를 추출하신 다음에, 자신이 적용할 systemui.apk를 따로 구하셔서 덮어씌우면 되겠습니다.


(ICS로 될지 안될지 모르겠습니다만은.. 항상 Need a Test입니다!)

저작자 표시 비영리 동일 조건 변경 허락
Creative Commons License
Creative Commons License
by 소피아네 2012/09/14 00:17
| 1 |