[TUT] Clean +add language cho ROM!
keunhuvac
10 nămBình luận: 68
Hi all!
Mình xin hướng dẫ cách clean language cho ROM, cách này sẽ rất hiệu quả đối với các máy có RAM yếu nhưng lại thích chạy các ROM nặng như CM (nếu hỗ trợ). Khi đó máy sẽ trống RAM nhiều hơn, chạy nhẹ nhàng hơn,mướt hơn...
Công cụ gồm có:
[FONT=&quot]1. [/FONT]Apktool để decompile/re_compile file apk
[FONT=&quot]2. [/FONT]Apk manager, dùng để sign app, trong tut này sẽ rất hạn chế dùng cái này vì không cần thiết.
[FONT=&quot]3. [/FONT]Total commander trên window, đây là công cụ quản lý file rất hữu ích trong tut này (các bạn search google để tải).
Các bước thực hiện:
[FONT=&quot]1. [/FONT]Tải apktool về, giải nén, copy hết các file vào thư mục c:\windows, về sau chỉ cần mở cmd lên là có thể gõ luôn đc apk.
[FONT=&quot]2. [/FONT]Tạo một thư mục (ví dụ d:\apk), copy các file apk cần clean vào thư mục đó, thường clean các file sau:

Quảng cáo


system\framework\framework-res.apk
system\app\AccountAndSyncSettings.apk
system\app\Bluetooth.apk
system\app\Browser.apk
system\app\Calculator.apk
system\app\Calendar.apk
system\app\CalendarProvider.apk
system\app\Camera.apk
system\app\CMParts.apk
system\app\Contacts.apk
system\app\DeskClock.apk
system\app\Email.apk
system\app\Gallery3D.apk
system\app\LatinIME.apk
system\app\Mms.apk
system\app\Music.apk

Quảng cáo


system\app\Phone.apk
system\app\Settings.apk
system\app\SystemUI.apk
[FONT=&quot]3. [/FONT]Tạo liên kết với framework, điều này rất cần thiết vì các system apps thường có liên kết với framework của chính ROM đó
Mở cmd, gõ:
Apktool if d:/apk/framework-res.apk
[FONT=&quot]4. [/FONT]Thực hiện clean file framework-res.apk:
Apktool d –f d:/apk/framework-res.apk
Thư mục framework-res sẽ được tạo theo đường dẫn:
C:\documents and setting\your_user_name\
Mở thư mục framework-res sẽ thấy thư mục /res/ đây là thư mục chứa các ngôn ngữ khác nhau, tương ứng là các thư mục như raw, values, xml (chứa ngôn ngữ default, không được xóa) và các thư mục như raw-xx, values-xx-, xml-xx, với xx là tên viết tắt của các nước (VD tiếng Việt sẽ là vi và vi-rVN). Các thư mục raw-xx, values-xx-, xml-xx có thể xóa hết. Các thư mục sau nếu có thì không xóa: values-land, values-finger, values-nokeys, values-keyhidden… (túm lại là thư mục nào không có từ viết tắt của quốc gia nào đó thì không xóa). Sauk hi xóa, sẽ trông như cửa sổ bên trái hình dưới:

Quảng cáo



Sauk hi xóa xong, thực hiện build (re_compile) file apk:
Apktool b ./framework-res
(./ là thay cho thư mục C:\documents and setting\your_user_name\).
Quá trình build sẽ nhanh hay chậm phụ thuộc vào app bạn build. Trong quá trình build sẽ xuất hiện các thông báo trên màn hình, nếu là warning thì không cần để ý, file apk vẫn sẽ đc buil, nếu là lỗi thì chỉ cần để ý thông báo lỗi trên màn hình thì có thể khắc phục đc.
Sauk hi build, mở thư mục ./framework-res/build/apk/ sẽ thấy có 1 file resources.arsc mới đc tạo ra, có dung lượng nhỏ hơn file resources.arsc của app gốc, dùng total commander, 1 cửa sổ tìm tới thư mục ./framework-res/build/apk/, một cửa sổ tìm tới thư mục d:\apk\, trông như ở dưới:


Click đúp vào file framework-res.apk ở cửa sổ bên phải để mở, rồi kéo file resources.arsc từ trái qua phải để ghi đè.


Như vậy đã clean xong file framework-res.apk và không cần phải resign.
Làm tương tự với các app khác.
Riêng với file latinime.apk, do rom mình dùng là CM7 nên dung lượng file latinime rất lớn, 17 mb+, sau khi clean, và build, dung lượng file latinime.apk trong ./latinime/dist/ chỉ còn 400 kb+, mình lấy file đó để vào thư mục “place here for signing” của apkmanager rồi sign, như vậy là có 1 file latinime mới dung lượng rất nhỏ.
Đây cũng là cách để add them TV cho các ROM chưa có TV (tạo thư mục values-vi, copy file string.xml đã dịch vào thư mục đó rồi build).
Cách thêm TV:
Nếu ROM không có TV thì bổ xung như sau:
tạo thư mục values-vi trong thư mục /res. Mở thư mục /res/value, copy file string.xml vào thư mục values-vi vừa tạo, mở file string vừa copy để dịch (hoặc cũng có thể extract TV từ các ROM khác có sẵn TV rồi lấy file string copy vào thư mục values-vi). Sau đó build lại, app đã có thêm TV.
Cách đọc và dịch file string:
Cấu tạo file string có dạng như sau:
Code:
<string name="additional_system_update" />
    <string name="additional_system_update_menu" />
    <string name="yes">Yes</string>
    <string name="no">No</string>
    <string name="device_info_default">Unknown</string>
    <string name="turn_on_radio">Turn on radio</string>
    <string name="turn_off_radio">Turn off radio</string>
    <string name="radioInfo_menu_viewADN">View SIM address book</string>
    <string name="radioInfo_menu_viewFDN">View Fixed Dialing Numbers</string>
    <string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string>
Trong đó dòng trong dấu nháy kép là các attribute, dòng ở giữa hai dấu >< là string value, các bạn dịch dòng này. Chú ý trong dòng này thường có các ký tự như %s, %d... để nguyên các ký tự này.
Chúc các bạn tự mod đc 1 ROM theo ý muốn!
68 bình luận
vip quá...thần rom bí kíp đây rồi !
keunhuvac
TÍCH CỰC
10 năm
Bổ xung các folder không được xóa:
xml
xml-land
...
làm tới bước này bị xượng.sao mình không thấy cái C:\documents and setting\your_user_name\ và như trong hình nhỉ
keunhuvac
TÍCH CỰC
10 năm
Window 7 thì nó khác một chút, nó là c:/user/... cơ! bước gõ lệnh apktool if nó có hiện đường dẫn đấy!
khoaspkt
ĐẠI BÀNG
10 năm
Cuối cùng bác Vạc công bố bí kíp, làm em mò cả đêm mới được. Đây mới clean ngôn ngữ thôi bác, mong bác chia sẻ thêm tí nữa về mấy cái file .sh (nó gọi là script gì đó). Chẳng hạn như cái file .sh quản lý tiến trình khởi động máy, .sh quản lý RAM. số chương trình chạy song song, tác vụ chạy ngầm....
keunhuvac
TÍCH CỰC
10 năm
Cái đấy nó tùy từng ROM chứ, chỉ có CM7 cho MS mới có cái đấy thôi!
bạn huóng dẫn thêm ngôn ngũ luôn nhe
keunhuvac
TÍCH CỰC
10 năm
Đã add thêm hướng dẫn add TV ở post đầu.
bạn làm cho mình bãn rom Trigger có TV cho SS Vibrant vì mình còn gà về vấn dề này xin cãm on bạn .
keunhuvac
TÍCH CỰC
10 năm
Mới đầu thì ai cũng gà thôi bạn à! Bạn cứ thực hành theo hướng dẫn đi, sẽ làm đc thôi!
ảo quá hi hi em đợi bản "nấu" của bác thui em lười vì ko co time 😁
Đọc xong thấy lùng bùng quá, nhưng cứ thank đã, từ từ nghiên kíu😃. Thanks again bác Vạc
các file apk lấy tù dâu ra bạn ?
keunhuvac
TÍCH CỰC
10 năm
Máy phải root rồi dùng root explorer copy các file trong /system/app và /system/framework/
thế những rom nandroid thì mình làm thế nào vậy anh VAc.không mò được apk.
keunhuvac
TÍCH CỰC
10 năm
Restore xong dùng root explorer copy ra máy tính rồi làm bình thường!
xin anh Vạc huóng dẫn tùng buóc cho em VD:b1 làm dầy dầy. b2 làm nhu thế nầy. b3 vvvvvvv.
chú coi bài 1 chán em tói nam 2045 mói làm duọc bãn rom có tiếng việt cho mình xin anh VẠC hd cụ thễ cho em xin cãm on anh VẠC .
keunhuvac
TÍCH CỰC
10 năm
Đáng lẽ mình cần thêm thông tin ở bước đầu: yêu cầu để làm đc theo tut là anh em cần phải có kinh nghiện về root, up rom... Còn người mới toanh như bạn đúng thật hơi khó. Bạn tìm hiểu thêm cách root, sử dụng các phần mềm như root explorer nữa thì mới làm theo đc tut này.
Anh Vạc oi em biết root và up rom rồi .1 dùng root explorer copy các file apk (thu mục nào Anh) trong diện thoại qua PC phai khong Anh . các buóc còn lại thì em mù tịt .xin Anh dành chút thòi gian huóng dẫn cụ thễ luôn nhe .
Anh Vạc úp vài tấm hình lúc Mở cmd, gõ: vì em làm hoài mà không thấy thu mục your_user_name\
keunhuvac
TÍCH CỰC
10 năm
Your username là tên user bạn đăng nhập vào máy của bạn mà.
làm tới bước 4 nó ko ra framework-res mà ra file 1.apk.bên trong có 1 file resources.arsc...tới đây sao nữa bác.mình xài win7
keunhuvac
TÍCH CỰC
10 năm
file 1.apk nó nằm ở đây:
c:\Users\ADMIN\apktool\framework\
đừng động đến nó.
còn thư mục framework-res nó nằm ở ngoài:
c:\Users\ADMIN\

check lại nhé.
trên win7 là C:\Users\user\apktool\framework..check C:\Users\user\ thì không có file đó 😔
keunhuvac
TÍCH CỰC
10 năm
Vậy thế này đi:
Lênh apktool if .. thì cứ gõ bình thường ko cần quan tâm, còn lênh decompile thì gõ:
apktool d -f d:/framework-res.apk d:/framework
(giả sử để file apk ở ổ d)
Khi đó trên ổ d có thư mục framework đc tạo, chính là thư mục vừa decompile.
Khi buid thì gõ:
apktool b d:/framework.
longspring
ĐẠI BÀNG
10 năm
Mình muốn hỏi sau khi đã clean xong thì lấy file apk nào, file apk trong thư mục dist hay apk trong thư mục đã chép đè file resources.arsc ....
keunhuvac
TÍCH CỰC
10 năm
Ở hướng dẫn có nói đấy: sau khi xóa các ngôn ngữ ko cần thiết thì build lại, sẽ có 1 thư mục là build được sinh ra, trong thư mục đấy có thư mục con apk, và trong thư mục apk có file resources. arsc. copy đè file này vào file apk gốc là đc.
thanhptarc
ĐẠI BÀNG
10 năm
bác xem copy ở đâu , bác nào có file này share em phát , chả bao h dùng tiếng Việt , nay chuyển máy cho bà chị thì đòi tiếng Việt , pó tay
nếu là ms thì lấ nguyên bộ fond của cm6 đè vô là bỗng dưng có tiếng Việt.đã thử với rom icefire rom khác chưa biết

---------- Post added at 02:51 PM ---------- Previous post was at 02:43 PM ----------

có thư mục đó nhưng nó chẳng có gì cả.win7 có thêm bước nào không nhỉ.mình làm y hệt rồi mà
keunhuvac
TÍCH CỰC
10 năm
Sợ khi decompile bị lỗi nên thư mục nó mới rỗng!
ủa vậy giơ sao bác 😁 mình dân kế toán chả biết tí gì về mấy cái mã này . nhà quê tập đú thôi !
keunhuvac
TÍCH CỰC
10 năm
Chạy đc như ở dưới là OK
Code:
C:\Users\ADMIN>apktool d -f d:/apk/framework-res.apk
I: Loading resource table...
I: Decoding resources...
I: Copying assets and libs...

C:\Users\ADMIN>

phù làm được rồi.nó đòi phải D: viết hoa thay vì d: ......làm mới đc 1 file.làm lần lượt với các file nặng khác chắc cả buôi.thế mà lúc trước bác bảo là "clean nhanh không ấy mà".thank bác nhé..đang vọc tiếp







  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2021 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: 209 Đường Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3, TP.HCM
  • Số điện thoại: 02862713156
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019