→ Bạn có thể tham khảo các thông tin bên dưới Có lẽ sẽ có ích cho những ai dùng đúng chuyên mục này. Mình tìm và chia sẻ lại kinh nghiệm cho anh em nào cần. Cảm ơn các bạn đã đọc.




ZenUI là một bộ giao diện người dùng độc quyền được tích hợp trên các dòng sản phẩm Zenfone hay Zenpad của hãng công nghệ ASUS. Cũng giống như hầu hết các giao diện người dùng (UI) trên các dòng máy nổi tiếng khác, ASUS thay thế toàn bộ ứng dụng gốc của Android bằng một bộ ứng dụng đầy đủ và nhiều tính năng nâng cao hơn do hãng tự phát triển với một giao diện thiết kế cực kì đồng bộ và thân thiện cho người sử dụng . ZenUI 2.0 tích hợp trên máy Zenfone 2 được biết đến với khả năng tùy biến giao diện hiển thị khá linh hoạt và mạnh mẽ như có thể sử dụng hầu như bất cứ bộ icon nào trên Google Play, thay đổi font toàn hệ thống dễ dàng, hiệu ứng chuyển trang đa dạng…. Tuy nhiên, với những bạn có nhu cầu làm đẹp chiếc smartphone của mình nhiều hơn nữa thì chắc chắn khả năng tùy biến mà ASUS cung cấp dường như chưa đủ. Tính năng thay đổi theme của ZenUI không chỉ cho phép thay đổi icon launcher mà còn mở rộng đến cả giao diện hiển thị của các ứng dụng tin nhắn, danh bạ, quick setting, lockscreen nhưng chưa phải là toàn bô ứng dụng hệ thống ví dụ status bar hay menu setting, calculate, calling screen... Bài viết hướng dẫn bạn cách mod giao diện của toàn bộ ứng dụng ZenUI.


Settings mod theo phong cách Xperia Z5
Yêu cầu:
+Một công cụ bung và đóng gói file apk trên điện thoại hoặc máy tính như apk editor, apktool hỗ trợ nền tảng x86. Trong bài viết này mình sẽ dùng Apk Editor tải trên Google Play Store.
+Root máy, vì bài viết hướng đến mod toàn bộ ứng dụng hệ thống nên tốt nhất là bạn hãy root chiếc Zenfone 2 của mình. Nếu không chỉ có thể thay đổi giao diện của một số ứng dụng hệ thống đã có update qua Google Play Store (vì sao thì mình sẽ giải thích bên dưới).
+TWRP recovery: tốt nhất là nên có để giải quyết lỗi bootloop trong trường hợp bạn làm sai khi mod ứng dụng hệ thống.
+Root Explorer: tải bản đã thuốc trên appvn.com, hỗ trợ việc đưa ứng dụng đã mod vào hệ thống và set permission( quyền).

Nói qua về ứng dụng trong hệ điều hành Android.

Mỗi ứng dụng trong hệ điều hành Android đều được đóng gói (nén) thành một file apk. Thông thường khi bạn mở file apk bằng một chương trình quản lý tập tin bất kì, hệ thống sẽ bật lên trình cài đặt ứng dụng. Thực chất, quá trình cài đặt mà bạn thấy chỉ là đưa file apk đó vào một thư mục mặc định trong hệ thống và thiết lập quyền permission đặc biệt (hệ điều hành sẽ dựa vào quyền để biết tập tin này có nhiệm vụ gì trong hệ thống)

Có 2 khu vực chứa ứng dụng đó là /system và /data.

/system là phân vùng chứa những ứng dụng hệ thống, là những ứng dụng đã được cài đặt sẵn vào máy ngay từ khi xuất xưởng. Phân vùng này bị hạn chế truy cập từ người dùng, bạn không thể xóa môt cách dễ dàng, thông thường chỉ khi bạn cập nhật firmware thì các ứng dụng này mới được thay đổi. Để người dùng có thể truy cập vào system chiếc Zenfone 2 cần được root trước.
Thư mục lưu trữ ứng dụng của phân vùng system là /system/priv-app và /system/app.

/data chứa những ứng dụng mà người dùng cài đặt theo cách thông thường. Rất dễ xóa đi bằng trình quản lý ứng dụng của máy.
Thư mục lưu trữ ứng dụng của phân vùng data là /data/app.


Ứng dụng người dùng cài đặt có thể xóa.
Ứng dụng hệ thống chỉ có thể xóa cập nhật.
Các ứng dụng ZenUI thì sao?

Hầu hết các ứng dụng ZenUI trong thiết bị đều là ứng dụng hệ thống nghĩa là đều được lưu trữ trong 2 thư mục /system/priv-app/system/app.

Tuy nhiên mỗi khi có một ứng dụng bất kì được cập nhật qua kho Google Play Store thì phiên bản mới này lại được lưu trữ ở /data/app. Nghĩa là lúc này sẽ có 2 phiên bản ứng dụng cùng tồn tại trên máy nhưng hệ thống sẽ ưu tiên phiên bản mới hơn trong phân vùng /data.
Điều này lý giải cho việc chiếc Zenfone 2 của bạn không được root thì chỉ có thể mod các ứng dụng đã tứng update qua Google Play Store. Vì khi đó bạn thay thế ứng dụng đã mod vào phiên bản trong phân vùng /data (không cần quyền root) chứ không phải là /system (cần quyền root).

Sơ lược quy trình thực hiện mod giao diện một ứng dụng hệ thống bất kì:

1.Tìm file apk của ứng dụng được lưu trữ trong /system, /data.
2.Bung ứng dụng( file apk).
3.Thay thế, chỉnh sửa các mục hình ảnh.
4.Đóng gói ứng dụng (file apk).
5.Đưa file apk trở lại thư mục gốc.

Trong 5 bước này thì 1,2,4 là những bước có thể thực hiện tự động bằng phần mềm trên máy tính hoặc điện thoại. Bước 3 cần sự sáng tạo của bạn và một số kỹ thuật cơ bản. Bước 5 chỉ cần bạn nắm rõ những điều cần biết về hệ thống ứng dụng trong hệ điều hành Android mình đã trình bày phía trên là đủ.

Bước 1: Tải và cài đặt Apk Editor tại đây:
https://play.google.com/store/apps/details?id=com.gmail.heagoo.apkeditor
Lưu ý phải tải trực tiếp bằng Google Play Store trên Zenfone 2, các phiên bản cài đặt bên ngoài có thể không sử dụng được và gây lỗi.

Bước 2: Bung file apk.

Mở Apk Editor vừa tải về. Tại màn hình chính bạn sẽ thấy có 2 tùy chọn là:
Select an apk file: chọn đến đường dẫn file apk bạn muốn mod giao diện. Tùy chọn này không kể ứng dụng đã được cài đặt vào hệ thống hay chưa.

Select apk from app: Apk Editor sẽ tự dò tìm các ứng dụng đã được cài đặt trong máy và hiển thị ra danh sách.

Vì mục tiêu của bài viết là mod giao diện cho các ứng dụng ZenUI nên tốt nhất bạn hãy chọn tùy chọn thứ 2.Lúc này Apk Editor sẽ hiển thị cho bạn danh sách tất cả ứng dụng được cài đặt, bao gồm cả ứng dụng hệ thống và do người dùng tự cài đặt.

Nhấn vào nút menu (dấu 3 chấm) bên góc phải trên và chọn system app. Đợi vài 3 giây để hiển thị toàn ứng dụng hệ thống. Chọn đến ứng dụng cần chỉnh sửa giao diện.Ví dụ mình chọn Asus Settings.



Sau khi chọn ứng dụng mục tiêu, Apk Editor tiếp tục yêu cầu bạn chọn phương thức chỉnh sửa, trong đó chỉ cần để ý đến 2 tùy chọn full edit và simple edit. Tùy chọn thứ 3 common edit chỉ có chức năng sửa tên ứng dụng và bộ nhớ cài đặt mặc định không cần quan tâm.

Full edit : Sử dụng trong trường hợp bạn có thêm nhu cầu chỉnh sửa các đoạn văn bản hiển thị trong ứng dụng. Kiểu chỉnh sửa này được phân chia thành 3 mục string ( tất cả các đoạn văn bản trong ứng dụng, theo nhiều ngôn ngữ hỗ trợ), resource ( tất cả thành phần hình ảnh và mã có thể chỉnh sửa), manufest (tất cả thuộc tính)

Simple edit: đơn giản hơn cho người mới bắt đầu, tập trung cho mục đích thay đổi giao diện hiển thị của ứng dụng. Bạn sẽ có 3 mục: file (hiển thị tất cả tập tin được phân theo thư mục) images(dò tìm và hiển thị tất cả hình ảnh sửa dụng trong ứng dụng), audio ( dò tìm và hiển thị tất cả tập tin âm thanh trong ứng dụng)

Nếu bạn chưa có nhiều kinh nghiệm mod ứng dụng thì chọn simple edit.Lúc này quá trình bung file apk sẽ bắt đầu, chỉ mất một vài giây và bạn có thể bắt tay vào chỉnh sửa giao diện được rồi.



Bước 3: Chỉnh sửa giao diện ứng dụng.

Sau khi chọn kiểu Simple edit bạn sẽ thấy 3 tab file, image, audio.

Tab Files: liệt kê tất cả tập tin theo thư mục. Tập trung vào thư mục “res” đây sẽ là nơi chứa tất cả hình ảnh của ứng dụng.

Trong đó chú ý những thư mục có tên drawable, hầu như tất cả những gì chúng ta có thể chỉnh sửa nằm trong thư mục này. Những mục drawable có hậu tố chỉ kích thước hình ảnh và chức năng (ví dụ bạn thấy các thư mục drawable-hdpi hay drawable-mdpi thì hdpi và mdpi để chỉ kích thước hình ảnh)

Truy cập vào từng mục drawable, tìm đến các hình ảnh muốn thay đổi, nhấn vào vùng 1 để mở xem ảnh to, vùng 2 để chọn đến hình muốn thay thế, vùng 3 để lưu lại hình ảnh gốc (xem ảnh chú thích bên dưới).

Trước tiên bạn cần lưu lại hình gốc để biết kích thước và tỷ lệ để chọn hoặc sửa hình cần thay thế vào cho phù hợp, trong trường hợp bạn chọn sai kích thước như hình gốc. Khi mod xong hình ảnh thể hiện sẽ bị biến dạng không được đẹp như ý muốn. Hình bạn muốn mod tốt nhất là hãy lấy từ những app tương đương từ các dòng máy khác là dễ dàng nhất, tất cả cách chọn hình ảnh thay thế mình sẽ nói bên dưới.

Thứ hai là thư mục có tên mipmap, chứ icon gốc của app, icon này có thể thay đổi tùy vào theme mà bạn sử dụng



Tab Image: Nếu bạn thấy cách thay từng ảnh chia theo thư mục như trên quá rối rắng thì chức năng "Image" tự động tìm đến tất cả hình ảnh có trong file apk. Đặc biệt hơn nữa những hình nào giống nhau nhưng khác kích thước cũng sẽ được gộp vào, bạn có thể thấy một số hình có chú thích nhiều đường dẫn. Lúc này chỉ cần thay duy nhất một hình, nhớ chọn kích thước càng lớn càng tốt và phải đúng tỷ lệ như hình gốc. Dĩ nhiên nếu file hình thay thế của bạn có kích thước lớn thì dung lượng cũng lớn, thay thế nhiều hình như vậy có thể làm app phình to hơn, nên tùy vào độ tỉ mỉ của bạn mà cho ra được những bản mod hoàn hảo.

Lưu ý chức năng "Images" có thể không tìm thấy một số file hình ảnh, ví dụ như trong thư mục mipmap chẳng hạn, nên dù sao thì hãy linh hoạt chọn chế độ sử dụng cho phù hợp và thuận tiện nhất có thể.


Mod floating view của app calculator và app settings
Bước 4: Đóng gói file apk và cài đặt lại ứng dụng vào hệ thống

Sau khi đã thực hiện đầy đủ các bước mod giao diện ưng ý, nhấn vào nút save (nút save chỉ hiện lên khi bạn thay đổi một mục bất kì, thay thế vào vị trí vủa nút close), đợi một vài giây để apk editor tiến hàng đóng gói lại thành file apk.

APK editor sẽ thông báo cho bạn đã nén file apk thành công và lưu trữ tại /sdcard/ApkEditor/tmp/gen.apk.

Bây giờ bạn có 2 cách để đưa ứng dụng đã mod vào hệ thống.

1-Tại màn hình báo tạo file gen.apk thành công nhấn vào nút Install để cài đặt theo cách thông thường. Cách này chỉ thành công nếu ứng dụng hệ thống đã được cập nhật như đã nói ở phần trên.



2-Nếu thực hiện cài đặt thủ công bằng cách 1 không thành công (báo app not installed) hay ứng dụng này chưa từng được cập nhật thì bạn bắt buộc phải thực hiện biện pháp mạnh. Nếu bạn nào hỏi root máy để làm gì thì câu trả lời là ở đây.Chúng ta sẽ đưa thẳng file apk vừa mod được vào thư mục /system/priv-app hoặc /system/app(thư mục chứa ứng dụng hệ thống) và quyền root chính là chìa khóa để mở cánh cổng khóa truy cập của người dùng bình thường vào hệ thống.

Hãy chắc chắn là bạn nhớ tên app mình vừa mod xong. Ví dụ tôi vừa mod xong file apk của ứng dụng ASUS Settings, tôi sẽ sử dụng Root explorer truy cập vào thư mục /system, lần lượt vào 2 thư mục con là /app và /priv-app và tìm đến thư mục lưu trữ file apk của ứng dụng này. Thông thường thư mục cần tìm sẽ có tên tương tự như tên ứng dụng. Ở đây tôi đã tìm ra thư mục chứa có đường dẫn là /system/priv-app/AsusSettings/.

Việc đầu tiên cần làm là copy file gốc này ra một thư mục bên ngoài nằm trên thẻ nhớ hoặc bộ nhớ trong để sao lưu, việc này tối quan trọng trước khi thực hiện bất cứ can thiệp nào vào hệ thống.

Copy file gen.apk vừa tại ra vào thư mục có đường dẫn bạn đã tìm được (nếu SuperSU hiện thông báo hỏi cấp quyền thì cứ nhấn Grant)

Xóa file apk gốc (file AsusSettings.apk).

Đổi tên gen.apk thành AsusSettings.apk (nhấn giữ file gen.apk một lúc để hiện ra menu chức năng, chọn rename).

Đổi quyền của ứng dụng, nhấn giữ file gen.apk một lúc để hiện ra menu chức năng, chọn permissons, tick vào từng ô chọn như hình. Hoặc nhấn vào “Enter Octal” và nhập 0644.



Xong, khởi động lại máy để tận hưởng thành quả.

Lưu ý tất cả file apk xuất ra đều có tên mặc định là gen.apk và nằm trong thư mục /sdcard/ApkEditor/tmp/, do vậy mỗi khi mod xong ứng dụng bất kì hãy copy liền file này đến một thư mục riêng biệt và đổi tên. Vì với lần thực hiện tiếp theo, Apk Editor sẽ tiến hành ghi đè lên file gen.apk trước đó.

Quá trình nén thành file apk nhanh hay lâu là tùy vào dung lượng của ứng dụng. Nếu bạn thấy quá trình này quá lâu thì có thể thay đổi chế độ nén file. Tại màn hình chính, nhấn chọn nút settings, ở mục APK BUILDING, nhấn vào Compession Level. Bạn sẽ thấy có tất cả 10 mức độ nén file khác nhau, trong đó mức độ 0 là không nén cho tốc độ cực nhanh nhưng dung lượng cũng lớn nhất có thể gây hao tốn bộ nhớ lưu trữ, trái lại mức độ 9 lại cho dung lượng file apk xuất ra cực thấp, bù lại thời gian nén cũng cực lâu. Mức độ nén mặc định nếu bạn không tinh chỉnh lại tùy chọn này là ở mức 9, nghĩa là cho thời gian chờ lâu nhất. Đối với một số bạn chưa thành thạo nhiều sẽ có thói quen thay một lần chỉ vài icon rồi đóng gói, sau đó mở ứng dụng ra ngắm nghía thành quả, rồi lại bung file ra vọc tiếp thêm nhiều lần nữa, chắc chắn là rất tốn thời gian. Nên để nhanh chóng hơn, biện pháp tối ưu là trong quá trình vọc vạch một ứng dụng bất kì, đầu tiên bạn hãy cứ chọn mức độ 0, đến khi vọc vạch chán chê ưng ý xong chọn lại mức 9 để nén lại file apk với dung lượng nhỏ nhất có thể. Như vậy vừa đảm bảo được quá trình vọc vạch vừa nhanh chóng vừa không hề tốn thêm bộ nhớ lưu trữ không cần thiết cho thiết bị.


Hình ảnh thay thế tìm ở đâu?

Tùy vào mục đích chỉnh sửa giao diện ứng dụng.

Nếu bạn muốn mod ứng dụng cho giống với các dòng máy khác thì tìm file apk của ứng dụng tương ứng trong dòng máy đó. Ví dụ muốn mod giao diện Settings mang phong cách của Xperia Z5 thì tìm kiếm “Xperia Z5 Settings apk”. Tải file apk về dùng Apk Editor bung nén và lưu lại những file hình tương ứng, nhớ chú ý kích thước

Nếu bạn muốn mod ứng dụng với một bộ icon đăc biệt thì chú ý tìm kiếm hình ảnh ở dạng PNG, có thuộc tính trong suốt.

Nếu bạn muốn tạo ra một bộ giao diện đặc biệt thì có thể sử dùng các phần mềm như photoshop để tự tạo, tuy nhiên nhớ chú ý đảm bảo dạng hình PNG, kích thước và thuộc tính trong xuốt.

Một số lỗi thường gặp và cách khắc phục

Không tìm thấy ứng dụng
: Hiện tượng là bạn không thể tìm thấy ứng dụng đã được mod trong adnh sách ứng dụng. May mắn là lỗi này chỉ găp phải đối với những ứng dụng chưa cập nhật, hay bạn phải dùng biện pháp mạnh đưa file apk vào hệ thống.

Có 2 nguyên nhân: có thể file apk đưa trở vào hệ thống bị sai tên, sai quyền, hoặc bạn đã đụng đến những file khác hình ảnh như manufest hay xml chẳng hạn

Đầu tiên, sử dụng Root Explorer truy cập vào thư mục ứng dụng (ví dụ /system/priv-app/AsusSettings/) xem file apk đã đúng tên như gốc chưa, xem lại quyền đã set đúng hay chưa.

Nếu không được thì bạn bắt buộc phải mod lại ứng dụng này từ đầu, vì các file manufest hay xml rất khó để tìm thấy nguyên nhân gây lỗi.

Bootloop (treo màn hình khởi động): Đây là lỗi hiếm nhưng không phải là không có trường hợp gặp phải. Tình trạng là ngay khi vừa khởi động lại máy sau khi mod ứng dụng hệ thống, màn hình khởi động của Zenfone 2 bị treo, con quay quay liên tục, không thể vào được hệ điều hành. Hiện tượng chỉ gặp phải khi mod các ứng dụng cực quan trọng của hệ thống ví dụ: Settings, ZenUI service…

Yêu cầu: TWRP recovery (không có sẵn TWRP thì xem bên dưới)

-Đầu tiên nhấn giữ nút nguồn để tắt máy(vì máy không có khả năng tháo pin).

-Dùng tổ hợp phím “tăng âm” “giảm âm” “nguồn” nhấn giữ cùng lúc rung nhẹ một cái là vào được fastboot hình con androi nằm ngửa. Nếu nhấn hoài mà không được thì thử nhấn giữ nút “nguồn” trước sau khi rung nhẹ 1 cái thì nhanh tay nhấn giữ 2 phím còn lại “tăng âm” + “giảm âm” để vào fastboot.

-Khi đã vào fastboot, nhấn “volume –“ nhiều lần đến khi hiện ra tùy chọn RECOVERY MODE. Nhấn phím nguồn và máy sẽ khởi động vào TWRP recovery.

- Tại màn hình chính, chọn Mount, tick vào system.

-Quay lại (back) , chọn Advanced, chọn File Manager. Đây là một công cụ quản lý file nhỏ gọn của TWRP recovery giúp quản lý file hệ thống nay cả khi không cần khởi động vào hệ điều hành.

-Tìm đến đường dẫn thư mục ứng dụng bạn vừa mod trước khi có lỗi bootloop. Ví dụ. /system/priv-app/AsusSettings/.

-1. Kiểm tra tên file apk đã đúng y như file gốc chưa. Nếu chưa đúng phải sửa lại. Nhấn vào file apk, chọn “rename file” và đổi lại cho đúng. Ấn nút Go trên bàn phím ảo. Kéo thanh trượt phía dưới để xác nhận.

-2. Sửa lại quyền của ứng dụng. Nhấn vào file apk, chọn chmod, nhập vào "0644". Kéo thanh trượt phía dưới để xác nhận.

Quay về menu chính chọn reboot – system.



Sau bước này máy sẽ được khởi động vào hệ điều hành, trong trường hợp vẫn bị bootloop thì xác định là file apk tại thư mục hệ thống đã bị lỗi.

-Trước tiên thử copy lại file apk đã mod và đổi tên, set quyền. Cũng thược hiện các bước như trên đến khi truy cập vào file manager. Đến đường dẫn /sdcard/ApkEditor/tmp/gen.apk hoặc file apk đã mod mà bạn cần đưa vào. Nhấn vào file apk chọn “Copy File” đến đường dẫn đích (ví dụ /system/priv-app/AsusSettings/) nhấn tiếp vào nút select bên phải dưới và kéo thanh trượt để đồng ý. Sau đó đổi tên file apk và sửa lại quyền tương tự hướng dẫn bên trên. Cuối cùng thử khởi động lại máy.

-Nếu còn không được tìm hãy tìm đến thư mục backup, đưa file apk lưu trữ trở lại hệ thống tương tự như trên. Chắc chắn lần này máy sẽ khởi động lên. Bây giờ bạn phải mod lại ứng dụng lại từ đầu và tránh gây ra lỗi nữa.

-Trong trường hợp đã thử hết cách thì xác định là lỗi bootloop do một nguyên nhân khác, không phải từ quá trình mod file apk của mình mà ra. Ở đây tuy sẽ không thể đoán ra là lỗi gì nhưng thông thường một số cách khắc phục cơ bản mình có thể hướng dẫn nhanh cho các bạn như sau:

Khởi động vào TWRP recovery, chọn mục wipe, bỏ chọn hết tất cả các ô, chỉ để lại data và cache. Kéo thanh trượt để xác nhận và khởi động lại máy xem thử có vào được hệ điều hành hay không. Cách này sẽ xóa hoàn toàn dữ liệu liên quan đến ứng dụng mà người dùng tạo ra, những loại dữ liệu khác như ảnh, nhạc, phim… hoặc thẻ nhớ ngoài vẫn được giữ lại, hay nói cách khác là cho máy trở về gần như lúc mới xuất xưởng.

-Trường hợp bạn chưa cài sẵn TWRP thì có thể làm như sau:

+Nhấn giữ nút nguồn để tắt hoàn toàn máy.

+Truy cập fastboot bằng 3 phím “tăng âm” “giảm âm” “nguồn” như trên.

+Nếu chưa unlock bootloader thì search Google “unlock bootloader zenfone 2” tải về công cụ cần thiết và tiến hành mở khóa bootloader, cái này yêu cầu cơ bản để có thể cài đặt recovery TWRP.

+Tiếp tục search Google tìm hướng dẫn cài đặt TWRP cho zenfone 2 tải bản mới nhất và flash vào

+Cuối cùng thực hiện các bước sửa lỗi bootloop như bên trên.