Chia sẻ Một vài TIP cơ bản khi chỉnh sửa apk

Thảo luận trong 'Thủ thuật - Sử dụng Android' bắt đầu bởi Trần Anh, 2 Tháng chín 2013.

  1. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    Tạm thời để tất cả ở trang 1, sau này sẽ di chuyển sang các trang sau
    I.Chuẩn bị
    -Máy tính
    -Java JRE hoặc JDK
    -APK Multitool
    -Framework-res.apk, SystemUI.apk … để install framework. Có thể cần thêm lge-res.apk
    -Phần mềm giải nén, 7-zip hoặc Winrar
    -Notepad++
    -Một máy android để test app
    -Photoshop hoặc một phần mềm chỉnh sửa ảnh
    -Android-sdk (để chỉnh sửa file .9.png)
    -Một tẹo kiên nhẫn
    II.Các phần
    1. - Hướng dẫn decompile – recompile apk cơ bản (sử dụng APK Multitool)
    2. - Một số vị trí của png
    3. - Giải thích về .9.png (bên dưới gọi tắt là 9P) và cách sửa, tạo 9P
    4. - Sửa hàng loạt ảnh png (không áp dụng cho 9P)

    Main
    1. Decompiling

    Chắc chắn đã cài Java, Android SDKAPK Multitool
    1.Chép file framework-res.apkSystemUI.apk từ điện thoại (Dùng rootexplore) vào thẻ nhớ, cắm vào máy tính và chép tất vào folder other ở thư mục bạn giải nén APK Multitool
    2.Chạy Setup.bat, chọn 2: Installing Framework-res
    Screenshot (447).png


    Screenshot (448).png
    - Chọn 1 (framework-res)
    - Chọn tiếp 4 (SystemUI)
    (mỗi lần chọn windows sẽ đóng CMD lại, chạy file Setup.bat lại từ đầu)
    Với APK Multitool, bước này chỉ phải làm lần đầu
    3.Chép apk bạn muốn mod vào thư mục place-apk-here-for-modding
    4.Mở Script.bat, bấm phím bất kì
    Screenshot (449).png
    5.Bạn sẽ thấy một cửa sổ như hình trên. Đây là cửa sổ làm việc chính của APK Multitool
    6.Nếu có nhiều apk trong place-apk-here-for-modding thì nhập 24 – Enter để chọn project chính
    Một list các apk hiện ra, bạn chỉ việc nhập số tương ứng với apk mà bạn muốn mod
    7.Chọn 9. Quá trình decompiling sẽ đc tiến hành
    8.Chờ đến lúc decompiling xong, mở folder project, bạn sẽ thấy một folder với tên của apk đã decompiled
    Screenshot (476).png
    9.Mod những gì bạn muốn, sửa những gì bạn thích
    - File xml, smali có thể mở bằng Notepad++ để sửa, file png thì dùng photoshop hay cái khác tương tự…
    Có thể mod theo các TUT của @tungbi2610 ở đây . Khi đó chỉ cần làm theo các bước từ sau decompile bằng apktool
    10.Sau khi hoàn thành việc mod, đến việc recompile lại apk
    -Với System apk, chọn 11
    -Với apk bất kì, chọn 12
    a)Với System app
    - Sau một lúc nó sẽ hỏi bạn có muốn chép các file với sign gốc để đảm bảo ít lỗi nhất, chọn y
    - Sau đấy nó lại hỏi bạn có muốn xoá vài file trong folder keep
    - Đến đây thì mở folder keep
    - Luôn nhớ: Sửa gì xoá nấy, sửa file png nào xoá file png đấy, sửa file xml nào xoá file xml đấy

    - Nếu không nhớ hết bạn đã sửa những file png nào, đơn giản là xoá cả folder chứa nó đi là xong
    Screenshot (450).png
    - Nếu sửa file xml nào đó, xoá nó đi và xoá cả resources.arsc
    - Vì các giá trị và folder đc khởi tạo từ file này trong quá trình decompiling, nếu ko xoá nó thì khi recompiling những giá trị này sẽ trả về giá trị ban đầu
    Screenshot (451).png


    - Sau khi xong bước trên, quay lại cửa sổ Script.bat và ấn phím bất kì
    - Việc mod đã xong, trong thư mục place-apk-here-for-modding sẽ có một file với tên System_xxx.apk. Đó là thành quả, mang đi test thôi
    b)Với Non-System app
    Chọn 12 để compile lại, sẽ có vài lựa chọn cho bạn
    Screenshot (452).png
    1.Tạo unsigned apk với tuỳ chọn có folder keep (như chỉnh sửa System app ở trên)
    2.Tạo unsigned apk bình thường
    3.Tạo apk với sign cũ có tuỳ chọn folder keep
    4.Tạo apk với sign cũ bình thường
    - Nếu chọn 1 hoặc 2, sau khi compile xong chọn 13 để sign apk

    - Sau bước này, trong folder place-apk-here-for-modding sẽ có một file tên signed_xxx.apk, chép vào điện thoại cài như apk thông thường



    Bài viết có tham khảo ở nhiều chỗ+ kinh nghiệm bản thân
     
  2. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    2. Một vài nguồn png
    - Dưới đây là vị trí của một số png nhưng có thể khác nhau tuỳ dòng máy, tuỳ bản ROM và … tuỳ vào modder lấy nó ra ở đâu nữa. Những file này có thể thay thế khi decompiling hoặc giải nén apk
    - Trong phần dưới đây chỉ có một vài png phổ biến, các png khác sẽ đc đề cập đến ở post sau


    a)Icon pin
    - ICS/JB: SystemUI.apk/res/drawable-Xdpi/stat_sys_battery**.png
    - GB: framework-res.apk/res/drawable-Xdpi/stat_sys_battery**.png
    b)Các icon trên status bar
    - SystemUI.apk/res/drawable-Xdpi
    - Chú ý: một vài icon có thể nằm trong framework-res.apk
    c)Platlogo
    (Ảnh sẽ xuất hiện khi bấm vài phát vào dòng phiên bản Android
    Trong GB chỉ có một file nhưng ICS/JB có rất nhiều file)
    - Framework-res.apk/res/drawable-nodpi/platlogo*.png
    d)Hình nền mặc định
    - Framework-res.apk/res/drawable-Xdpi/default_wallpaper.jpg
    e)Hình nền màn hình khoá mặc định
    - Framework-res.apk/res/drawable-Xdpi/*****_default_lockscreenw.jpg

    (Ở rom gốc HTC, wallpaper mặc định được quy định trong biuld.prop
    Nó nằm trong system/customize/resource/wallpapers_a_00.jpg)
    f)Spinners (icon loading)
    - Framework-res.apk/res/drawable-Xdpi/spinner_****_**.png
    g)Menu icon (các icon thêm, sửa, xoá, tìm kiếm….)
    - Framework-res.apk/res/drawable-Xdpi/ic_menu_**.png
    h)Toggle
    - Thường nằm trong SystemUI.apk/res/drawable-Xdpi/




    Sẽ tiếp tục bổ sung thêm
     
  3. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    3. Chỉnh sửa .9.png (9P)

    - Đây là dạng đặc biệt của png có thể co dãn để phù hợp với từng mục đích. Nó bao gồm 1 dòng pixel mỗi cạnh có độ dài khác nhau cho những mục đích khác nhau
    - Như đã nói, ta không thể chỉnh sửa 9P nếu không decompile nó ra vì nó sẽ mất đi tính chất của nó. Vì thế phải decompile mới sờ đc vào mấy file này (Đây chính là lí do trước mod khung tin nhắn toàn fail) :(
    Untitled-1.png
    - Vì thế, sau khi decompile, mở 9P bằng photoshop rồi chọn phần bên trong biên giới 1px và chỉ chỉnh sửa phần này
    Screenshot (453).png
    - Để cẩn thận hơn, sau khi chọn phần này, click chuột phải chọn “Layer via cut” rồi chỉnh sửa ở trong phần này, sửa xong thì merge 2 layer lại với nhau

    - Sau đó lưu lại như png bình thường, đổi tên lại thành .9.png nếu cần

    Giải thích định dạng 9P
    Screenshot (4753).png
    - Phần màu xanh đánh dấu vùng có thể kéo dãn của 9P. Có nghĩa là nếu cần thiết, vùng bên trên và bên trái của 9P sẽ đc sao chép để kéo dãn ra
    - Phần màu đỏ đánh dấu điểm cố định của 9P, khu vực này đc cố định và ko có khả năng dãn ra theo hướng này
    Có thể đọc thêm tại đây

    - Nếu muốn chắc chắn 9P của mình đã chuẩn thì thực hiện các bước sau
    (9P sai có thể gây FC, hoặc nặng hơn là bootloop)

    - Giải nén android-sdk đã tải ở trên, tìm đến folder tools và mở draw9patch.bat

    Screenshot (454).png

    - Đợi một tẹo, một cửa sổ như thế này sẽ hiện lên

    Screenshot (455).png

    - Kéo và thả 9P vào đấy, click Show bad patches

    Screenshot (456).png

    - Khi sao chép, 9P sẽ lấy những pixel theo hàng dọc từ vạch đen bên trên xuống, và hang ngang từ vạch đen bên trái sang
    - Nếu bạn thấy những vùng đóng khung màu đỏ, rất tiếc bạn đã làm 9P sai. Đừng lo, chỉ cần đưa chuột vào vùng đóng khung đến khi hiện mũi tên hai chiều, kéo thả cho đến khi ko còn vùng khoanh đỏ nữa là ok

    Screenshot (457).png

    Hoặc bạn có thể làm theo cách sau:
    -Xoá tất cả các dòng
    -Thêm một điểm ở giữa bên trên và giữa bên trái (để tạo khu vực có thể dãn ra)
    -Thêm một đường ở phía bên phải và bên dưới rồi click vào Show Content
    Screenshot (458).png
    - Khu vực màu tím là khu vực những nội dung sẽ hiện trên đó
    - Bây giờ bạn chỉ cần tuỳ chỉnh khu vực đó theo ý muốn của bạn, miễn sao không để xuất hiện những vùng khoanh đỏ
    - Sau khi làm xong, save file. Xong
     
  4. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    4. Sửa hàng loạt file png bằng photoshop

    - Giả sử bạn có vài trăm file png muốn chỉnh sửa. Sửa từng file một? Có mà gãy ngón tay
    - Sau đây là một ví dụ về việc chỉnh sửa hàng loạt file ảnh bằng action trong photoshop
    - Xin nhắc lại, không áp dụng cho 9P
    1.Đầu tiên copy tất cả png bạn muốn chỉnh sửa vào một folder riêng biệt, ở đây mình muốn đổi tất cả icon pin thành màu đỏ. Ví dụ là folder tên Pin goc
    Screenshot (459).png
    - Tạo một folder khác để lưu file tạo thành, không được đặt trong folder gốc
    2.Mở Photoshop
    - Chọn Windows -> Action hoặc Alt+F9
    Screenshot (470).png
    3.Click Creat new Action
    - Đổi tên thành cái gì cũng đc, ko thích thì giữ nguyên
    Screenshot (472).png
    - Sau đó click Record. Bạn sẽ thấy một nút màu đỏ. Bây giờ những gì đã làm với file này sẽ được thực hiện tương tự với các file khác
    4.Hãy cẩn thận làm từng bước, không được bỏ sót bước nào

    - Ví dụ muốn đổi icon pin thành màu đỏ,
    - Click File->Open. Mở file bất kì trong folder pin gốc
    Screenshot (474).png
    - Click Image -> Adjustment -> Hue and Saturation hoặc Ctrl + U
    Screenshot (463).png
    - Kéo 3 thanh chỉnh đến khi được màu như ý muốn
    Screenshot (464).png
    - Bước tiếp theo là lưu ảnh vừa sửa
    - Click File->Save as và lưu nó thành một file png trong folder Lưu pin
    Screenshot (465).png
    - Nếu không muốn Photoshop mở tất cả icon của bạn lên, sau khi xong bước save đừng vội stop action
    - Click close (dấu x nhỏ phía trên ảnh đang mở), nó hỏi gì thì chọn No
    5.Giờ thì click nút Stop
    6.Tự động xử lí các file còn lại. Click File-> Automate-> Batch
    Screenshot (467).png
    - Ở hộp thoại hiện ra, chọn action bạn vừa tạo
    - Source Folder Chọn folder gốc bạn vừa tạo
    - Destination Folder Chọn folder lưu bạn vừa tạo
    - Tick Override Action ‘Open’ commands và Override Action ‘Save as’ commands
    Screenshot (469).png

    - Click Ok, đi đâu đó chơi, uống một cốc nước hay ngủ một giấc tuỳ thuộc vào lượng ảnh mà bạn muốn xử lí
    - Mở folder lưu, tận hưởng thôi


    -------> Có thể áp dụng cho các việc khác như làm trong suốt, thay đổi kích thước…..
     
  5. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    Làm thêm chỗ nữa cho máu
    Oáp buồn ngủ quá
     
    huntersun and xuantunt like this.
  6. LêDũng96

    LêDũng96 Well-Known Member Staff Member

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    3,183
    Đã được thích:
    682
    Đọc xong là đã chả buồn làm r. Lằng nhằng quá.

    Sent from my LG-LU6200 using LG Việt mobile app
     
  7. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    chưa đọc hết phần 1 rồi :unsure:
     
  8. xuantunt

    xuantunt Never give up! Staff Member

    Tham gia ngày:
    21 Tháng sáu 2013
    Bài viết:
    2,074
    Đã được thích:
    3,370
    xem hộ tôi mấy file này với :confused: đang nghịch chỉnh sửa cái swiftkey, sửa lại .9 đúng rồi thử bằng app kia không thấy bị khoanh đỏ mà chả hiểu sao thay vào apps toàn bị lỗi hiển thị.

    Hoặc nếu bạn có thời gian chỉnh hộ tôi luôn app swiftkey thay cái theme cobalt bỏ hết cạnh bo góc thành vuông và thu hẹp trên dưới mỗi cạnh một ít thì tốt :laugh: mặc định nó hơi to và hơi gần quá. Ah tiện thể cho bàn phím hiển thị lúc đầu sáng hơn lên một tý thì càng tuyệt.
     

    Các file đính kèm:

  9. minh mũ đỏ

    minh mũ đỏ Active Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    727
    Đã được thích:
    155
    muốn mod nền LGsettings.apk thì ở đâu vậy c?
     
  10. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    để tối mình làm cho nhé, giờ đi học :D
     
    xuantunt thích bài này.
  11. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    hình như nó trong framework :D tối về tớ mò sau
     
  12. minh mũ đỏ

    minh mũ đỏ Active Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    727
    Đã được thích:
    155
    T tìm lòi mắt trong systemui ;) bảo sao mãi không thấy. Haiz. Giúp t nhé. Tìm đc mình cũng mod rom :)
     
  13. gts8003

    gts8003 Quản lý là phụ - chém gió là chính Staff Member

    Tham gia ngày:
    10 Tháng sáu 2013
    Bài viết:
    8,057
    Đã được thích:
    3,851
    Trong Lg-res.apk
    Bên box thủ thuật tungbi có đấy
     
    minh mũ đỏ thích bài này.
  14. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    kiểu vầy hả a :D họ mod sẵn rồi này http://www.tinhte.vn/threads/swiftkey-4-ban-mod-giao-dien.2077330/
     
    xuantunt thích bài này.
  15. xuantunt

    xuantunt Never give up! Staff Member

    Tham gia ngày:
    21 Tháng sáu 2013
    Bài viết:
    2,074
    Đã được thích:
    3,370
    Đúng như ý mình rồi, lấy mấy file bên xda về chuẩn luôn.
     
  16. minh mũ đỏ

    minh mũ đỏ Active Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    727
    Đã được thích:
    155
    e cần chi tiết hơn bác ạ. nền của app thì có thể có chữ background nhưng mà nhiều quá, nhìn mấy cái ab_..... có thể là app backgound hoặc j đó.... haiz
     
  17. gts8003

    gts8003 Quản lý là phụ - chém gió là chính Staff Member

    Tham gia ngày:
    10 Tháng sáu 2013
    Bài viết:
    8,057
    Đã được thích:
    3,851
    B1: Dùng Root Explorer vào system\framwork: copy file lge-res.apk ra.(ROM deodexed)
    B2: Dùng APKMULTITOOL decompile lge-res.apk ra ta được folder lge-res.apk (chắc các bạn đã biết).
    B3: Trong folder lge-res.apk ta sẽ vào sửa file styles.xml trong res\values (tất nhiên là mình sửa bằng notepad ++.
    B4: Các bạn tìm dòng: <item name="android:textColor">?android:textColorPrimary</item> ở mục <style name="TextAppearance"> và thay bằng <item name="android:textColor">#ffffffff</item> (#ffffffff là màu chữ của menu đấy).
    B5: Các bạn tìm dòng tiếp nhé: <item name="android:textColor">?android:textColorPrimaryInverse</item> ở mục <style name="TextAppearance.Inverse" parent="@style/TextAppearance"> và thay bằng <item name="android:textColor">#ffffffff</item>
    B6: Tìm tiếp dòng: <item name="android:textColor">?android:textColorPrimaryInverse</item> và thay bằng <item name="android:textColor">#ffffffff</item>
    B7: Tìm dòng: <item name="android:textColor">?android:textColorPrimaryInverse</item> và thay bằng <item name="android:textColor">#ffffffff</item>
    B8: Tìm tiếp (nhiều quá, nhưng tỉ mỉ thì mới đẹp): <item name="android:textColor">?android:textColorSecondary</item> và thay bằng <item name="android:textColor">#ffffffff</item>
    B9: Tìm tiếp: <item name="android:textColor">?android:textColorSecondaryInverse</item> và thay bằng <item name="android:textColor">#ffffffff</item>
    B10: Tìm: <item name="android:textColor">@color/primary_text_light_nodisable</item> và thay bằng <item name="android:textColor">#ff00aaff</item>
    B11: Tìm: <item name="android:textColor">?android:textColorPrimary</item> và thay bằng <item name="android:textColor">#ff00aaff</item>
    B12: Tìm tiếp (sắp xong mục này rồi): <item name="android:textColor">?android:textColorPrimaryDisableOnly</item> và thay bằng <item name="android:textColor">#ffffffff</item>
    B13: Tìm: <item name="android:textColor">?android:textColorSecondary</item> và thay bằng <item name="android:textColor">#ff00aaff</item>
    B14: Tìm: <item name="android:colorBackground">@color/background_holo_light</item> ở mục <style name="Theme.LGE.Default" parent="@*android:style/Theme.Holo.Light"> và thay bằng <item name="android:colorBackground">@color/transparent</item>
    B15: Tìm: <item name="android:windowBackground">@drawable/screen_background_selector_light</item> và thay bằng <item name="android:windowBackground">@drawable/123</item> (vâng, 123 chính là nền của mục Cài Đặt đấy, các bạn có thể tự thiết kế để có nền Cài đặt đẹp)
    B16: Chưa hết. Còn nữa: Bây giờ mở file colors.xml trong res\values.
    - Tìm <color name="background_dark">#ff000000</color> và thay bằng <color name="background_dark">#ffffffff</color>
    - Tìm <color name="dim_foreground_dark">#ffbebebe</color>
    - <color name="dim_foreground_dark_disabled">#80bebebe</color>
    - <color name="dim_foreground_dark_inverse">#ff323232</color>
    - <color name="dim_foreground_dark_inverse_disabled">#80323232</color>
    - <color name="hint_foreground_dark">#ff808080</color>
    - <color name="dim_foreground_light">#ff323232</color>
    - Các bạn đổi lại thành: <color name="dim_foreground_dark">#ffffffff</color>
    - <color name="dim_foreground_dark_disabled">#ffffffff</color>
    - <color name="dim_foreground_dark_inverse">#ffffffff</color>
    - <color name="dim_foreground_dark_inverse_disabled">#ffffffff</color>
    - <color name="hint_foreground_dark">#ffffffff</color>
    - <color name="dim_foreground_light">#ffffffff</color>
    - Tìm <color name="dim_foreground_light_inverse">#ffbebebe</color> và đổi thành <color name="dim_foreground_light_inverse">#ffffffff</color>
    - Tìm <color name="hint_foreground_light">#ff808080</color> và đổi thành <color name="hint_foreground_light">#ffffffff</color>
    - Tìm <color name="lockscreen_clock_background">#e5ffffff</color> đổi thành <color name="lockscreen_clock_background">#00000000</color>
    - Tìm <color name="background_holo_dark">#ff000000</color> và đổi thành <color name="background_holo_dark">#ffffffff</color>
    - Tìm <color name="dim_foreground_holo_dark">#ffbebebe</color>
    <color name="dim_foreground_disabled_holo_dark">#80bebebe</color>
    Và đổi thành <color name="dim_foreground_holo_dark">#ffffffff</color>
    <color name="dim_foreground_disabled_holo_dark">#ffffffff</color>
    - Tìm <color name="hint_foreground_holo_dark">#ff808080</color>
    <color name="dim_foreground_holo_light">#ff323232</color> và đổi thành <color name="hint_foreground_holo_dark">#ffffffff</color>
    <color name="dim_foreground_holo_light">#ffffffff</color>
    Vậy là xong phần code. Dùng photoshop tạo 1 file ảnh với kích thước 720x1280 lưu lại với tên 123.png rồi cho vào res\drawable-xhdpi
    Cuối cùng ta compile lge-res.apk lại rồi cho vào system\framwork (set permisions nữa). Khởi động lại máy và hưởng thụ thôi.
     
  18. vang toi nha que

    vang toi nha que Well-Known Member

    Tham gia ngày:
    10 Tháng sáu 2013
    Bài viết:
    4,120
    Đã được thích:
    889
    A đọc là ngán rùi :oops:

    Sent from my LG-LU6200 using Tapatalk 2
     
  19. minh mũ đỏ

    minh mũ đỏ Active Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    727
    Đã được thích:
    155
    gts8003 file lge này dùng cho mọi rom stock đc hay chỉ đúng 1 rom mình lấy ra hả a?
     
  20. zucdragon

    zucdragon Active Member

    Tham gia ngày:
    24 Tháng bảy 2013
    Bài viết:
    657
    Đã được thích:
    170
    bài viết công phu quá, rất hữu ích... like like ! :D
     

Chia sẻ trang này