Tự tay giải phóng dung lượng tối đa cho tất cả các dòng Zenfone

Thảo luận trong 'Android' bắt đầu bởi Sal358, 1/10/15.

By Sal358 on 1/10/15 lúc 04:28
  1. Sal358

    Sal358 Super Moderator Thành viên BQT

    Bài viết:
    338
    Tự tay giải phóng dung lượng tối đa cho tất cả các dòng Zenfone

    Chắc hẳn trong quá trình sử dụng smartphone, bạn đã từng gặp phải hiện tượng không thể cài đặt thêm các ứng dụng mới do không còn đủ bộ nhớ lưu trữ. Giải pháp đơn giản nhất mà các bạn có thể nghĩ tới là mua một chiếc thẻ nhớ mới, nếu thiết bị có hỗ trợ, sau đó di chuyển các dữ liệu cũ vào bộ nhớ ngoài này. Những loại dữ liệu như hình ảnh, video, nhạc… người dùng khá dễ dàng chuyển vào bộ nhớ thẻ trong khi các ứng dụng được cài đặt thêm thì sao? Tất nhiên sẽ không có gì phải bàn nếu chỉ đơn giản là xóa bớt ứng dụng đang sử dụng trong thiết bị để nhường chỗ cho ứng dụng mới.

    [​IMG]

    Các dòng máy Zenfone từ trước đến nay đều hỗ trợ người dùng chuyển ứng dụng vào thẻ nhớ hay ngay cả việc cài đặt nơi lưu trữ ứng dụng vào bộ nhớ máy hay thẻ nhớ. Vấn đề là rất nhiều ứng dụng trên hệ điều hành Android không thể chuyển vào thẻ nhớ, mà dù được phép thực hiện cũng không chuyển hoàn toàn nếu chỉ sử dụng những cách thông thường. Đồng nghĩa cho dù dung lượng bộ nhớ trong của thiết bị có lớn đến đâu thì đến một lúc nào đó cũng đầy, trong khi các ứng dụng trên smartphone ngày càng nặng "ký" hơn, hay chấp nhận xóa những ứng dụng đang cài đặt trên máy ? Một số máy Zenfone có bộ nhớ trong chỉ 8GB, bao gồm hệ điều hành đã chiếm khoảng 4GB bộ nhớ dung lượng còn lại chỉ còn tầm một nửa so với con số tổng nghe có vẻ khá lớn. Chắc chắn con số này sẽ không đủ đáp ứng đại bộ phân người sử dụng những chiếc điện thoại mà ứng dụng hay tính năng mang lại chính là thứ làm nên giá trị lớn nhất.

    " Tôi biết cách sử dụng Link2sd hoặc DS app2sd để di chuyển hoàn toàn ứng dụng vào thẻ nhớ", bạn đã biết đến thủ thuật này nghĩa là đã tìm hiểu đến những tính năng không nâng cao chính thức, mạnh mẽ của hệ điều hành Android. Cách thực hiện có đơn giản hay không tùy thuộc vào kinh nghiệm "vọc vạch" của mỗi người, tuy nhiên bạn có thực sự hiểu được các ứng dụng kiểu này hoạt động thế nào hay chỉ "follow" theo các bước hướng dẫn trong những bài viết thủ thuật. Vậy nên nhiều trường hợp lỗi xảy ra mà người dùng không hề hiểu nguyên nhân và không thể sử lý được là điều thường xuyên gặp phải. Mất dữ liệu, hư hỏng hệ thống là điều không ai mong muốn. Do vậy bài viết này mong muốn cung cấp cho bạn hiểu biết làm sao có thể di chuyển ứng dụng vào thẻ nhớ một cách hoàn toàn, đồng thời là sử lý lỗi phát sinh hay kết hợp sử dụng các ứng dụng tự động hóa một cách hiệu quả và thực sự chuyên nghiệp.

    [​IMG]
    Bạn có đã biết đến symlink trên Android?

    Android thực sự là một hệ điều hành mạnh mẽ, với cốt lõi là hệ điều hành linux, Android được thừa hưởng nhiều tính năng đặc biệt và rất linh hoạt tương đương hay thậm chí thông minh hơn cả một chiếc máy tính hoàn chỉnh . Một tính năng liên quan đến bài viết mà mình muốn nhắc đến, nhờ nó mà bạn có thể chuyển hoàn toàn ứng dụng vào thẻ nhớ, đó là symlink. Vậy symlink thực sự là gì và sử dụng chức năng này như thế nào.

    Symlink theo cách hiểu đơn giản nhất là tương tự như shortcut trên windows, hay là file chứa "đường dẫn"của một file khác trong thiết bị, nghĩa là trỏ vào file "đường dẫn" lập tức hệ thống sẽ tự hiểu và thực hiện file gốc. Nhưng chắc bạn cũng biết liên kết của shortcut trên windows hầu như không có tác dụng gì nhiều, chỉ là đường dẫn đơn thuần. Trong khi symlink lại liên kết mạnh hơn rất nhiều, gần như có thể thay mặt folder hay file gốc của nó. Chính vì thế ta có thể di chuyển một file bất kì ra thẻ nhớ sau đó đơn giản là symlink lại là xong, chương trình vẫn hiểu và quy cập dữ liệu cần thiết trong thẻ nhớ.

    [​IMG]

    Root máy:
    Điều kiện tiên quyết để có thể symlink một ứng dụng bất kì ra một phân vùng khác hay thẻ nhớ đó là bắt buộc bạn phải "chiếm" được quyền superuser hay nói đơn giản là root.

    Khi mua một smartphone bất kì, tuy bạn có quyền sở hữu, nhưng điều này không đồng nghĩa với việc bạn có thể quyết định hệ thống của thiết bị sẽ hoạt động thế nào. Cho dù các hãng sản xuất điện thoại có cởi mở đến đâu đi nữa thì vẫn có rất nhiều thứ bạn không được phép "chạm" vào. Như dòng điện thoại Zenfone mà chúng ta đang sử dụng, ASUS khá là chiều người dùng khi cung cấp nhiều chức năng nâng cao như chọn ứng dụng không khởi động cùng hdh, thay đổi hoạt động cpu... nhưng thử xóa ứng dụng hệ thống ư, bạn không thể làm việc đó. Symlink cũng vậy, chức năng mạnh mẽ cần theo cùng một quyền hạn cao cấp hơn. Hiện nay các máy dòng zenfone đều được root khá dễ dàng, bạn có thể tham khảo các hướng dẫn rất nhiều trên mạng. Nhớ chọn đúng model nhé..

    [​IMG]
    Khi đã có quyền root, bắt tay vào thực hiện thôi.

    Symlink một ứng dụng bất kì:

    Trước tiên, nói sơ qua về nguyên tắc về các ứng dụng được cài mới vào hệ thiết bị. Mỗi khi bạn cài đặt một ứng dụng bất kì trên CHplay hay bằng file apk thì dữ liệu của ứng dụng đó thường sẽ được lưu trữ vào 3 thư mục nằm trong /data đó là /app; /data và /davik-cache. Bên cạnh đó một số ứng dụng có thể có thêm file dữ liệu obb nhưng ta không cần quan tâm vì hầu như các file này có thể chuyển qua thẻ nhớ dễ dàng bằng công cụ hệ thống.
    Ở đây tôi sẽ chuyển ứng dụng zing Mp3 vào thẻ nhớ

    Bước 1: vào thư mục /data/app bạn sẽ thấy /com.zing.mp3-1 . copy thư mục này vào một nơi bất kỳ trên thẻ nhớ.
    Bước 2: Xóa thư mục gốc nằm trong /data/app
    Bước 3: Chọn thư mục vừa copy thành công trên thẻ nhớ. Nhấn vào dấu 3 chấm ở góc phải dưới, chọn link to folder. Sau đó trở về thư mục /data/app và nhấn create link.

    Vậy là xong rồi. Một phần dự liệu ứng dụng Zing MP3 đã được chuyển lên thẻ và symlink trở lại, chỉ cần làm tương tự với các đường dẫn còn lại là /data/data và /davik-cache là bạn đã "move" hết ứng dụng hoàn toàn ra khỏi bộ nhớ trong rồi đó. Không có gì khó hiểu phải không.

    Tại sao cần hiểu rõ về symlink?

    Qua phần giải thích và hướng dẫn di chuyển một ứng dụng bất kỳ hoàn toàn ra thẻ nhớ như mình đã đề cập bên trên chắc hẳn các bạn cũng phần nào hiểu được ngọn ngành hoạt động của symlink. Điểm quan trọng nhất mà bạn nhận được đó là bạn hoàn toàn có thể điều khiển (control) được tính năng này so với việc dùng các ứng nhựng như Link2sd. Khác biệt là gì?

    -Giả sử đặt tình huống bạn bất đắc dĩ phải rút thẻ nhớ ra khỏi thiết bị. Việc này sẽ làm cho các symlink kiên kết bị đứt gãy, xử lý khá đơn giản là tạo lại symlink khi gắn thẻ nhớ trở lại. Điều này bạn sẽ không bao giờ biết khi dùng các ứng dụng tự động tạo symlink.

    -Hay trường hợp bạn không muốn sài thẻ nhớ nữa. Chỉ cần xóa symlink và copy các thư mục bạn đã chuyển vào thẻ nhớ trở về đường dẫn gốc của nó.

    ….

    -Nói chung các tình huống lỗi phát sinh bạn đều tự mình sử lý được

    [​IMG]
    Tối ưu hóa hoạt động.

    Mỗi chức năng trên hệ thống đều có nhiều cách thức hoạt động khác nhau, quan trọng là chọn lựa được phương pháp tốt nhất sẽ tối ưu hóa chức năng bạn muốn sử dụng lên mức tối đa. Có 2 cách để tối ưu tốc độ ứng dụng được lưu trữ trên bộ nhớ thẻ đó là sử dụng thẻ nhớ tốc độ cao và kiểu định dạng phân vùng thích hợp.

    Chọn mua thẻ nhớ tốc độ cao.

    Yêu cầu khi các bạn muốn chuyển hết dữ liệu của ứng vào thẻ nhớ đó là bạn bắt buộc phải chọn mua một thẻ nhớ tốc độ cao. Tại sao? Vì tốc độ của bộ nhớ trong thường rất tốt, các ứng dụng được lưu trữ trên bộ nhớ trong sẽ hoạt động với hiệu suất tối đa. Chắc chắn bạn không muốn sau khi chuyển tất cả dữ liệu ứng dụng sang thẻ nhớ thì các ứng dụng này sẽ hoạt động ì ạch chứ. Vậy nên tránh xa thẻ nhớ tốc độ thấp hoặc noname, chọn loại có tốc độ lớn nhất, dung lượng cao nhất mà bạn có thể để đảm bảo trải nghiệm sử dụng máy vẫn bình thường.

    Làm sao để xác định thẻ nhớ nào tốc độ nhanh? Hãy chọn thẻ nhớ có kí hiệu class 10 hoặc UHS-1 trở lên và để ý tốc độ nhà sản xuất quảng cáo ví dụ 30MB/s. Mình đang sử dụng thẻ nhớ Ultra 16GB của Sandisk, test thực tế tốc độ của chiếc thẻ này khá nhanh, đặc biệt là tốc độ đọc, ghi cũng không quá chênh lệch.

    - Copy & paste một file hơn 500MB từ bộ nhớ máy đến bộ nhớ thẻ tầm 21s
    - Copy & paste một file hơn 500MB từ bộ nhớ thẻ vào bộ nhớ máy tầm 19s

    [​IMG]

    Dễ thấy tốc độ đọc, ghi không chênh lệch nhiều, và thời gian hoàn thành khá nhanh . Tuy bài test không thực sự đánh giá được hoàn toàn hiệu quả hoạt động của hệ thống nhưng bạn cũng có thể yên tâm rằng một khi chọn được một chiếc thẻ nhớ phù hợp là xem như bạn đã thay mới chiếc điện thoại của mình.

    Định dạng phân vùng chứa ứng dụng.

    Làm sao để ứng dụng hoạt động trơn tru, mượt mà nhất trên thẻ nhớ, đó là ứng dụng nên được lưu trữ trên một phân vùng thân thiện với linux hơn. Bình thường các thẻ nhớ đều được phân vùng với định dang fat32, mục đích là có thể dễ dàng sử dụng với máy tính Windows. Trái lại linux thường sử dụng định dạng khác hoàn toàn đó là EXT, vậy đơn giản là hãy để thẻ nhớ của bạn ở định dạng EXT. Tuy nhược điểm của phân vùng dạng EXT là Windows không hỗ trợ giao tiếp với loại định dạng này. Vậy để ứng dụng hoạt động tốt nhất thì lại mất tính năng tương tác với hệ điều hành windows ư? Câu trả lời là không.

    Giải pháp có thể áp dụng được đó là phân vùng chiếc thẻ của bạn thành 2 phân vùng nhỏ. 1 để lưu trữ dữ liệu, định dạng fat32 và 1 để phục vụ yêu cầu bài viết, định dạng ext4/ext3/ext2.

    [​IMG]

    Yêu cầu:

    -Hãy tìm hiểu xem cộng đồng chiếc Zenfone của bạn đang sở hữu có hỗ trợ các kernel tùy chỉnh hay không. Init.d là một trong những tính năng chỉ có trong các kernel tùy chỉnh, tính năng cho phép người dùng tự thêm các lệnh khởi động đồng thời cùng hệ thống. Điều này là cần thiết vì sắp tới chúng ta cần gán một số dòng lệnh để hệ thống có thể hiểu được phân vùng thứ 2 như đã đề cập ở trên.

    - Ứng dụng RootExplorer bản donation.

    Thực hiện:

    Các bạn làm theo các bước sau đây:

    Bước 1:
    Cài đặt một kernel tùy chỉnh bất kỳ có hỗ trợ init.d cho thiết bị của bạn ( bắt buộc unlock bootloader trước). Nếu bạn đang sử dụng Zenfone 2 như mình có thể dùng kernel Project T. Xem tại đây:
    http://forum.xda-developers.com/zenfone2/development/project-t-custom-kernel-zenfone-2-t3150822

    Bước 2:
    Cắm thẻ nhớ vào máy tính dùng đầu đọc thẻ và chọn một công cụ quản lý phân vùng thiết bị lưu trữ mạnh mẽ bất kì trên máy tính (có khả năng phân chia phân vùng thẻ, hỗ trợ nhiều định dạng phân vùng…). Ví dụ minitool để phần mềm nhận thẻ nhớ.

    [​IMG]

    Bước 3:
    Khi bạn đã thấy 1 phân vùng có định dạng Fat/fat32/NTFS, đây chính là phân vùng chứa dữ liệu trên thẻ nhớ mà bạn đang sử dụng. Chọn phân vùng này, ấn vào nút move/resize và kéo thanh màu xanh về bên trái để giới hạn lai dung lượng lưu chứa dữ liệu, phần màu xám còn lại là phần dung lượng thẻ nhớ bạn muốn dành chứa các ứng dụng chuyển từ bộ nhớ máy vào. Nhấn Ok.


    [​IMG]

    Bước 4:
    Click chuột phải vào phần dung lượng mới dư ra chọn “create”. Nếu hiện thông báo cứ chọn Yes. Tại khung Create New Partition chọn File System: Ext4.

    Các dòng Zenfone cũ kernel có thể không hỗ trợ định dạng phân vùng Ext4 thì hãy chon ext3 hoặc ext2 vì ext4 cho tốc độ sử dụng cao nhất nhưng không phải đời máy nào cũng hỗ trợ, một số dòng zenfone cũ có thể có kernel tùy chỉnh hỗ trợ các định dạng mới như ext3/ext4.

    Nhấn Ok.Nếu hiện như hình dưới là thành công.

    [​IMG]

    Bước 5:
    Tải script kích hoạt phân vùng thứ 2 trên thẻ nhớ tại đây:
    https://drive.google.com/file/d/0B8EePH3BugfFZ29wR1VwTEoyVE0/view?usp=sharing

    Tạo một thư mục tên sd-ext trong thư mục /data.

    Copy file create-ext vào thư mục /system/etc/init.d. Và set permission cho file create-ext như sau: rwxr-xr-x(0755) ,hiện thông báo mount read-write cho system thì chọn OK. Trong trường hợp không có folder init.d thì tạo mới ở thư mục /system/etc và set permission: rwx------ (700).

    Cuối cùng khởi động lại máy và truy cập thử vào /data/sd-ext bạn sẽ thấy dung lượng thư mục này tăng lên, như vậy là thành công. Đây chính là đường dẫn vào phân vùng thứ 2 trên thẻ nhớ với tốc độ được tối ưu rất tốt với định dạng ext4.

    [​IMG]

    Bây giờ bạn đã có thể symlink tùy ý các ứng dụng cần thiết vào thẻ nhớ mà không lo đến vấn đề hiệu năng giảm nữa rồi.

    Lưu ý, ở bước cuối, nếu bạn không thấy có sự thay đổi dung lượng của thư mục sd-ext, hãy kiểm tra lại một lượt từ việc tạo thư mục sd-ext, set permission cho script... Trong trường hợp đều không đạt được kết quả như mong muốn thì 90% rằng chiếc zenfone của bạn không hỗ trợ định dạng phân vùng thứ 2 mà chúng ta đã tạo. Vậy làm gì tiếp theo? Thử đổi định dạng phân vùng này sang ext3, nếu vẫn không được mới chọn định dang ext2. Bởi định dạng này chắc chắn thành công vì hiển nhiên là bất kì smartphone android nào cũng hỗ trợ, bù lại tốc độ không tốt như ext3 hay ext4.

    Sau khi định dạng lại phân vùng này, bạn cũng cần chỉnh lại script create-ext để tương thích. Mở file create-ext bằng chức năng edit text trong root explorer. Sửa tất cả ext4 thành ext3 sau đó lưu file và khởi động lại (nếu hiện thông báo chế độ read write chọn ok).

    [​IMG]

    Sử dụng link2sd tự động hóa chuyển ứng dụng và thẻ nhớ.

    Tuy việc tự tay di chuyển các ứng dụng ra thẻ nhớ rồi symlink hay tối ưu làm sao ứng dụng hoạt động tốt nhất có lẽ bạn đã khá rành rồi. Nhưng đến đây bạn sẽ nhận ra dường như quá trình chuyển từng ứng dụng này mất rất nhiều thời gian. Để khắc phục ta sẽ sử dụng ứng dụng tự động tạo symlink như link2sd. Thao tác khá đơn giản thực hiện bước 2,3,4 như trên, ở lần khởi động đầu tiên của link2sd, bạn chọn loại định dạng đã phân vùng và khởi động lại. Sau bước thiết lập đầu hơi khó khăn thì từ bây giờ bạn chỉ cần chỉ cần chọn từng ứng dụng, "tao liên kết " và tick hết các ô tùy chọn gắn kết sau đó kết quả ứng dụng sẽ được di chuyển 100% như hình.
    Tuy nhiên điều quan trọng hơn là chúng ta biết được ứng dụng đã được lưu trữ trong thẻ nhớ, cụ thể là phân vùng thứ 2. Và hoàn toàn có thể truy cập ở folder sdext2. Do vậy gặp bất cứ vấn đề, lỗi lầm liên quan bạn đã biết được cần sửa chỗ nào rồi chứ.

    [​IMG]

    Bài viết cung cấp cho người đọc, những người đang sử dụng dòng điện thoại Zenfone của ASUS hiểu biết về cách di chuyển ứng dụng hoàn toàn sang thẻ nhớ cũng như các vấn đề liên quan như tối ưu, sửa lỗi, tự động... Mong rằng bài viết đã khắc phục những khó chịu bạn gặp phải khi muốn cài đặt nhiều ứng dụng trong khi bộ nhớ thiết bị hạn chế. Chúc các bạn thành công.
     
    : zenfone, asus, link2sd

Bình luận

Thảo luận trong 'Android' bắt đầu bởi Sal358, 1/10/15.

    1. cà phê sữa
      cà phê sữa
      này giông mình định dạng lại thẻ nhớ rồi thớt làm bài chi tiết quá nên chẵng cần gì phải hỏi thêm cả :slobber:
    2. baby duck
      baby duck
      những bài về zenfone 2 rất hay thủ thuật thế này thì anh em đâu cần phải cần làm gì nữa cứ mua về rồi vọc vạch theo là ngon rồi
    3. anh khôi
      anh khôi
      nếu mình chuyển ứng dụng vào thể nhớ thì việc truy xuất trong thẻ nhớ có ảnh hưởng gì tới máy không vi khi bỏ vào thẻ thì thời gian truy xuất giữ liệu sẽ lâu hơn khi ta bỏ trong bộ nhớ của máy
    4. alvuong
      alvuong
      Cùng cần 1 cái thẻ SD tốt để truy xuất tốt mới ổn được. Máy thẻ cùi cùi dùng ko được bao lâu
    5. ong.tho
      ong.tho
      Sử dụng loại thẻ nhớ SD kiểu class 6 trở lên..để tránh tình trạng sẽ làm cho thẻ nhớ rất nóng, tốc độ ghi và đọc cũng không tốt nên sẽ ảnh hưởng tới load ứng dụng.
    6. ong.tho
    7. htlong
      htlong
      Phân vùng xong máy tính không nhận thẻ nữa bác à :(

Chia sẻ trang này