Group Banner

Hướng dẫn Hướng dẩn mod một số code ( không chuyên ) MIUI v8

Thảo luận trong 'Phát triển MIUI Android' bắt đầu bởi Vipchi2014, 30/6/17.

  1. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    PHẢI ĐỌC PHẦN LƯU Ý NÀY NHÉ...AI KO ĐỌC SẺ BỊ LỖI NGAY
    Lưu ý :
    Nếu mod file hệ thống ko nên sign bằng apktool dc mà phải dùng xpoler bug cái apk gốc mod và copy 1 mục META-INF và 1 file AndroidManifest.xml qua bên file mod là ok ko bị lổi...nếu mod cần sửa smail thì cần deodex còn ko sửa smail thì ko cần deodex và biết dùng apktool nhé !
    SAO LƯU LẠI BẢN ROM ĐANG DÙNG TRƯỚC KHI LÀM NHÉ !!!!

    Mình sẻ hướng dẩn mod một số code trên miui 8.1 nếu ai 8.2 hay 8.5 có thể tham khảo hay mod thử.
    1 - MOD Miuisystem.apk loại bỏ thanh trược độ sáng
    Decompile Miuisystemui.apk ra mở theo đường dẩn:
    MiuiSystemUI\res\layout\status_bar_expanded_single_page.xml
    Tìm code này
    Mã:
    <include android:layout_width="fill_parent" android:layout_height="@dimen/single_page_brightness_panel_height" android:layout_marginBottom="@dimen/single_page_brightness_panel_bottom" layout="@layout/status_bar_expanded_brightness_panel" />
    Và sửa lại
    Mã:
    <include android:layout_width="0.0dip" android:layout_height="@dimen/single_page_brightness_panel_height" android:layout_marginBottom="@dimen/single_page_brightness_panel_bottom" layout="@layout/status_bar_expanded_brightness_panel" />
    Vào tiếp Miuisystemui/res/values/dimens
    Tìm và sửa lại code này thế này
    Mã:
    <dimen name="single_page_brightness_panel_height">13.0dip</dimen>
    Lưu ý chổ 13.0dip là độ cao của bảng thông báo thanh trược sáng
    Xong lưu lại hết và Recompile chép vào chổ củ system.
    Screenshot_2017-06-30-13-54-11-230_com.miui.home.png

    2 - MOD Settings.apk xem mật khẩu wifi đả nhập trước đó
    ( Lưu ý phải có quyền root )
    Decompile Settings.apk
    Theo đường dẩn tìm settings/res/xml/wifi_setting.xml
    Tìm code
    Mã:
    <Preference android:persistent="false" android:title="@string/advanced_settings" android:fragment="com.android.settings.wifi.AdvancedWifiSettings" />
    Và chép dưới nó code này
    Mã:
    <PreferenceScreen android:title="@string/pwifi_title" android:key="pwifi">
            <intent android:targetPackage="wilk.wifi.pwd" android:action="android.intent.action.MAIN" android:targetClass="wilk.wifi.pwd.ui.MainActivity" />
        </PreferenceScreen>
    Và kết quả sẻ như thế này
    Mã:
    <?xml version="1.0" encoding="utf-8"?>
    <PreferenceScreen android:title="@string/wifi_settings_category"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <CheckBoxPreference android:title="@string/wifi_enable" android:key="wifi_enable" android:order="1" />
        <PreferenceCategory android:title="@string/wifi_settings_category" android:key="wifi_settings" android:order="100">
            <CheckBoxPreference android:persistent="false" android:title="@string/wifi_notify_open_networks" android:key="notify_open_networks" android:summary="@string/wifi_notify_open_networks_summary" />
            <CheckBoxPreference android:persistent="false" android:title="@string/wifi_enable_data_and_wifi_roam" android:key="enable_data_and_wifi_roam" android:summary="@string/wifi_enable_data_and_wifi_roam_summary" />
            <Preference android:persistent="false" android:title="@string/saved_wifi" android:key="saved_wifi" android:fragment="com.android.settings.wifi.MiuiSavedAccessPointsWifiSettings" />
            <Preference android:persistent="false" android:title="@string/advanced_settings" android:fragment="com.android.settings.wifi.AdvancedWifiSettings" />
            <PreferenceScreen android:title="@string/pwifi_title" android:key="pwifi">
            <intent android:targetPackage="wilk.wifi.pwd" android:action="android.intent.action.MAIN" android:targetClass="wilk.wifi.pwd.ui.MainActivity" />
        </PreferenceScreen>
        </PreferenceCategory>
    </PreferenceScreen>
    Tiếp theo vào settings/res/values/stings.xml thêm code này dưới cùng và trên code </resources>
    Mã:
    <string name="pwifi_title">Passwords</string>
    Muốn có tiếng việt thì settings/res/values-vi/stings.xml thêm code này dưới cùng và trên code </resources>
    Mã:
    <string name="pwifi_title">Mật khẩu wifi đã kết nối</string>
    Lưu lại hết và Recompile lại trưa xong nhé tải file này về https://www.mediafire.com/file/ti7tvat57cgtt60/Wifisave.zip
    giải nén ra chép wifisave vào priv-app set quyền thư mục 0755 file 0644 là dc.
    Screenshot_2017-06-30-13-53-49-809_com.android.settings.png Screenshot_2017-06-30-13-54-00-223_wilk.wifi.pwd.png
     
    Chỉnh sửa cuối: 15/7/17
    minhnghia1991, B.Flamesr, Lap and 3 others like this.
  2. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    3 - Bác @phan_tq cho mình mượn mấy cái file bác nhé
    Mod âm lịch kiểu đơn giản và dể làm
    Decompile Miuisystemui.apk đả deodex nhé
    Chép file này vào đúng theo đường dẩn MiuiSystemUI/smali/com/android/
    https://drive.google.com/open?id=0B-5fwDO-_cUTTmo0eVAyZkowZVE
    Theo đường dẩn sao
    Miuisystemui/res/layout/status_bar_expanded_header.xml
    Tìm code này
    Mã:
    <com.android.systemui.statusbar.ColorImageTextView android:entries="@array/duration_entries" android:id="@id/temperature" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="2.0dip" android:layout_alignParentBottom="true" android:entryValues="@array/duration_entryValues" android:layoutDirection="ltr" />
    Xoá 2 code nằm dưới code trên đó
    Screenshot_2017-06-30-14-20-21-312_com.rhmsoft.edit.pro.png
    Xong chép vào lại chổ xoá đó 3 code này
    Mã:
    <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Weather" android:textSize="11.0dip" android:id="@id/date_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/no_weather_description" android:layout_alignParentBottom="true" android:layout_marginStart="10.0dip" android:layout_toEndOf="@id/temperature" />
                <com.android.nongphan.Amlich.DuongLich2AmLich android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textSize="10.0dip" android:textColor="#ccffffff" android:id="@id/amlich" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="13.0dip" android:layout_alignParentBottom="true" android:layout_marginStart="8.0dip" android:layout_toEndOf="@id/temperature" />
                <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Weather.Description" android:textSize="10.0dip" android:textColor="#ccffffff" android:id="@id/weather_description" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_marginBottom="10.0dip" android:layout_above="@id/date_time" android:layout_marginStart="10.0dip" android:layout_toEndOf="@id/temperature" />
    Mở res/values/ mở ids.xml thêm code này vào cuối cùng trên cái code </resources>
    Mã:
        <item type="id" name="dayofweek">false</item>
        <item type="id" name="amlich">false</item>
    Mình xin nói thêm code âm lịch với code ngày tháng nếu nhiệt độ 2 chử số nó sẻ nhảy ra và 1 chử số nó sẻ nhảy vào theo lại sẻ ko bị chử sai lệt...
    Riêng code này
    Mã:
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Weather.Description" android:textSize="10.0dip" android:textColor="#ccffffff" android:id="@id/weather_description" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_marginBottom="10.0dip" android:layout_above="@id/date_time" android:layout_marginStart="10.0dip" android:layout_toEndOf="@id/temperature" />
    Nếu muốn hiển thị thêm báo thời tiết dông bảo hay gì gì đó thì sửa lại thế này mặc định mình tắt nó đi
    Mã:
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Weather.Description" android:textSize="10.0dip" android:textColor="#ccffffff" android:id="@id/weather_description" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10.0dip" android:layout_above="@id/date_time" android:layout_marginStart="10.0dip" android:layout_toEndOf="@id/temperature" />
    Ok xong hết rồi đó lưu lại và Recompile bỏ vào lại chổ củ
    Screenshot_2017-06-30-13-54-11-230_com.miui.home.png
     
    Chỉnh sửa cuối: 15/7/17
  3. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    4 - MOD tắt icon pin trên thanh trạng thái
    Dịch ngược Settings.apk
    Vào settings/res/values/arrays tìm 2 code này
    Mã:
    <string-array name="battery_indicator_style_entries">
    Mã:
    <string-array name="battery_indicator_style_values">
    Và sửa lại như hình
    Screenshot_2017-07-04-07-25-00-893_com.rhmsoft.edit.pro.png
    Vào settings/res/values-vi tìm code
    Mã:
    <string-array name="battery_indicator_style_entries">
    sửa lại như hình
    Screenshot_2017-07-04-07-28-34-848_com.rhmsoft.edit.pro.png
    Xong lưu lại Recompile lại
    Tiếp theo là dịch ngược
    SecurityCenter.apk
    Vào SecurityCenter/res/values/strings tìm power_settings_shape và sửa lại code như này
    Mã:
    <string name="power_settings_shape">Off</string>
    Tiếp vào values-vi/strings tìm power_settings_shape sửa lại code như này
    Mã:
    <string name="power_settings_shape">Tắt</string>
    Xong Recompile lại nhé
    Tiếp là cái quan trọng nhất
    Dịch ngược
    MiuisystemUI.apk
    Dường dẩn res/layout/status_bar_simple.xml
    Tìm code này
    Mã:
    <com.android.systemui.statusbar.phone.BatteryStatusIconView android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    Và sửa lại như này
    Mã:
    <com.android.systemui.statusbar.phone.BatteryStatusIconView android:id="@id/battery" android:layout_width="0.0dip" android:layout_height="0.0dip" />
    Chổ pin % mình thấy hơi nhỏ nên có thể áp dụng code này thêm vào làm lớn % pin
    Mã:
    android:textSize="10.0dip"
    Có thể thay đổi chổ 10.0dip thành số khác số càng lớn % sẻ càng lớn.
    Thêm vào sẻ được code như sao
    Mã:
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Battery" android:textSize="10.0dip" android:gravity="center" android:id="@id/battery_num" android:paddingBottom="@dimen/statusbar_battery_text_bottom_padding" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginStart="1.0dip" android:layout_marginEnd="3.0dip" />
    Còn 2 code này có sẳn ta có thể sửa lại canh lề cho đẹp
    android:layout_marginStart="1.0dip" (code này là canh trước) android:layout_marginEnd="3.0dip" (code này canh lề cuối) mình nghỉ để
    android:layout_marginEnd="1.0dip" là vừa.
    Xong Recompile và chép vào lại chổ củ trong system.
    Screenshot_2017-07-04-07-53-54-391_com.android.settings.png



     
    Chỉnh sửa cuối: 4/7/17
    minhnghia1991 thích bài này.
  4. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    5 - MOD ẩn biển tượng tin nhắn trong trình gọi InCallUI.apk
    Đầu tiên deco InCallUI.apk
    Theo đường dẩn tìm res/Layout/answer_oper_view.xml
    Tìm code này

    Mã:
    <LinearLayout android:gravity="bottom|center" android:orientation="vertical" android:id="@id/incoming_message_layout" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/incoming_circle_img_margin_right">
                    <com.android.incallui.view.ArrowImageView android:id="@id/incoming_message_arrow" android:visibility="gone" style="@style/Incoming.ArrowImageView" />
                    <com.android.incallui.view.CircleImageView android:id="@id/incoming_message" android:visibility="invisible" android:layout_marginBottom="@dimen/incoming_operate_btn_margin_bottom" android:src="@drawable/incoming_message" android:contentDescription="@string/description_image_button_message_enter" circle:radiusNormalColor="@color/incoming_message_color_n" circle:radiusPressColor="@color/incoming_message_color_p" circle:radiusStyle="fill" style="@style/Incoming.CircleImageView" />
                </LinearLayout>

    Và sửa lại thế này
    Mã:
    <LinearLayout android:gravity="bottom|center" android:orientation="vertical" android:id="@id/incoming_message_layout" android:layout_width="wrap_content" android:layout_height="0.0dip" android:layout_marginLeft="@dimen/incoming_circle_img_margin_right">
                    <com.android.incallui.view.ArrowImageView android:id="@id/incoming_message_arrow" android:visibility="gone" style="@style/Incoming.ArrowImageView" />
                    <com.android.incallui.view.CircleImageView android:id="@id/incoming_message" android:visibility="invisible" android:layout_marginBottom="@dimen/incoming_operate_btn_margin_bottom" android:src="@drawable/incoming_message" android:contentDescription="@string/description_image_button_message_enter" circle:radiusNormalColor="@color/incoming_message_color_n" circle:radiusPressColor="@color/incoming_message_color_p" circle:radiusStyle="fill" style="@style/Incoming.CircleImageView" />
                </LinearLayout>
    Và sao đó CẮT code đó bỏ lên trên code này
    Mã:
    <LinearLayout android:gravity="bottom|center" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/incoming_circle_img_margin_right">
                    <com.android.incallui.view.ArrowImageView android:id="@id/incoming_answer_arrow" android:visibility="gone" style="@style/Incoming.ArrowImageView" />
                    <com.android.incallui.view.CircleImageView android:id="@id/incoming_answer" android:visibility="invisible" android:layout_marginBottom="@dimen/incoming_operate_btn_margin_bottom" android:src="@drawable/incoming_answer" android:contentDescription="@string/description_image_button_answer" circle:radiusNormalColor="@color/incoming_ring_color_n" circle:radiusPressColor="@color/incoming_ring_color_p" circle:radiusStyle="fill" style="@style/Incoming.CircleImageView" />
                </LinearLayout>
    Xong reco lại chép vào chổ củ
    11383805.png
     
    Chỉnh sửa cuối: 17/12/17
    minhnghia1991 and AnhKinh like this.
  5. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    6 - MOD services.jar để có thể xoá bỏ updater.apk hay MiuiMarket.apk mà ko bị treo logo
    Đầu tiên phải deodex services.jar
    Vào system/framework/oat/arm64 copy file services.odex bỏ vào chổ cần deodex và vào system/framework copy file services.jar ra bỏ chung với services.odex rồi bắt đầu deodex


    Deo dex xong bắt đầu làm
    Vào smail/com/miui/server tìm file này
    SecurityManagerService.smali
    Mở ra và tìm code này
    Mã:
    .method private checkSystemSelfProtection(Z)V

    Nó sẻ thế này
    Mã:
    .method private checkSystemSelfProtection(Z)V
        .locals 1
    
        new-instance v0, Lcom/miui/server/SecurityManagerService$1;
    
        invoke-direct {v0, p0, p1}, Lcom/miui/server/SecurityManagerService$1;-><init>(Lcom/miui/server/SecurityManagerService;Z)V
    
        invoke-virtual {v0}, Lcom/miui/server/SecurityManagerService$1;->start()V
    
        return-void
    .end method
    Và sẻ thay đổi như sao
    Mã:
    .method private checkSystemSelfProtection(Z)V
        .locals 3
        .param p1, "onlyCore"    # Z
    
        .prologue
        return-void
    .end method
    Xong rồi đó reco lại và signs nó như tôi đả nói ở phần LƯU Ý TRÊN ĐẦU BÀI và đổi tên nó lại thành services.jar bỏ vào chổ system/framework còn file services.odex trong system/framework/oat/arm64 có thể xoá bỏ
    OK !! XONG RỒI NHÁ
     
    Chỉnh sửa cuối: 7/7/17
    minhnghia1991 and AnhKinh like this.
  6. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Tiếp theo là mod lắc khóa màn hình hay lắc xóa ram điện thoại...không hổ trợ miui 9 nhé.
    Decom MiuisystemUI.apk và Settings.apk tất cả phải deodex nhé.
    Vào Miuisystem/res\layout/status_bar.xml
    Mở status_bar.xml ra tìm dòng này android:id="@id/callTimer" chép code này trên code đó
    Mã:
    <com.shake.HarlemShake android:layout_width="0.0dip" android:layout_height="0.0dip" />
    Chép code này vào đúng thư mục như đường dẩn nhé
    https://www.mediafire.com/file/cqud91mr6vm0a96/SystemUI_7.5.11_andAfter.zip
    Xong cái MiuisystemUI.apk
    Tới cái Settings.apk tìm đường dẩn res\values\strings.xml mở strings.xml lên và thêm code này vào
    Mã:
    <string name="gestures_category">Gestures</string>
        <string name="Advance_Clearing_RAM">Shake gestures</string>
        <string name="shake_to_clear_ram_title">Clearing RAM</string>
        <string name="shake_to_clear_ram_sum">Shake device for clearing RAM</string>
        <string name="shake_to_lock_title">Lock screen</string>
        <string name="shake_to_lock_sum">Shake device for lock screen</string>
    Mở tiếp res/value-vi/strings.xml mở strings.xml lên thêm này vào
    Mã:
    <string name="gestures_category">Cử chỉ</string>
        <string name="Advance_Clearing_RAM">Lắc cử chỉ</string>
        <string name="shake_to_clear_ram_title">Xóa RAM</string>
        <string name="shake_to_clear_ram_sum">Lắc xóa RAM</string>
        <string name="shake_to_lock_title">Khóa màn hình</string>
        <string name="shake_to_lock_sum">Lắc khóa màn hình</string>
    Tiếp theo vào đường dẩn res\xml\display_settings.xml mở display_settings lên và thêm code này vào trên một dòng cuối cùng
    Mã:
    <PreferenceCategory android:title="@string/gestures_category" />
        <PreferenceScreen android:title="@string/Advance_Clearing_RAM" android:key="shake_clear_ram" android:fragment="com.android.settings.shake.ShakeRam" />
    Xong tải về cái này chép đúng theo đường dẩn
    https://www.mediafire.com/file/jbol1dp1q74cir7/Settings.zip
    Xong recompe lại chép vào system chổ củ nhé.
    Screenshot_2017-12-15-17-58-48-493_com.android.settings.png Screenshot_2017-12-15-17-58-51-149_com.android.settings.png
     
    Chỉnh sửa cuối: 15/12/17
  7. phan_tq

    phan_tq Thành viên

    Tham gia ngày:
    19/2/16
    Bài viết:
    280
    Đã được thích:
    114
    Chấm
     
  8. phan_tq

    phan_tq Thành viên

    Tham gia ngày:
    19/2/16
    Bài viết:
    280
    Đã được thích:
    114
    Cái này làm sao để App wifisave.apk nó chạy đấy bác
     
  9. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Vào wifi là thấy ak chổ này nè bác
    IMG_20170702_175930.jpg
     
  10. phan_tq

    phan_tq Thành viên

    Tham gia ngày:
    19/2/16
    Bài viết:
    280
    Đã được thích:
    114
    Bấm vào đó là Settings đã dừng lại
     
  11. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Trưa singn hihi để sửa lại bài viết
     
  12. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Đả sửa lại ok
     
  13. VoicAloid

    VoicAloid Thành viên

    Tham gia ngày:
    11/2/17
    Bài viết:
    104
    Đã được thích:
    4
    Bác ơi khúc giải nén ra chép wifi save vào priv app ko đc bác ơi, nó ko có chữ sao chép

    Gửi từ Redmi Note 4 của tôi bằng cách sử dụng Tapatalk
     
  14. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Bác sao chép bằng gì thế dùng root explore ấy hay biết dùng xplore củng dc nếu biết dùng và máy đả root
     
  15. VoicAloid

    VoicAloid Thành viên

    Tham gia ngày:
    11/2/17
    Bài viết:
    104
    Đã được thích:
    4
    E làm theo bác hết rồi, bị cài đặt đã dừg lại :(

    Gửi từ Redmi Note 4 của tôi bằng cách sử dụng Tapatalk
     
  16. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Bác chụp hình tôi xem bác copy chổ nào
     
  17. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Có zalo ko có thì ib tôi 0918.443.565 tôi giúp cho
     
  18. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    File cài đặt bác đóng gói lại sign bằng apktool luôn ak...hay sao
     
  19. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Nếu mod file hệ thống ko nên sign bằng apktool dc mà phải dùng xpoler bug cái apk gốc bác mod và copy 1 mục META-INF và 1 fileAndroidManifest.xml qua bên file mod là ok ko bị lổi...
     
  20. Vipchi2014

    Vipchi2014 Thành viên

    Tham gia ngày:
    30/11/16
    Bài viết:
    300
    Đã được thích:
    73
    Bác thử như tôi nói coi dc ko
     

Chia sẻ trang này