Logo vi.androidermagazine.com
Logo vi.androidermagazine.com

Từ túi thư: cái quái gì không được giải nghĩa?

Mục lục:

Anonim

Clark viết

Odex và deodex thực sự có ý nghĩa gì? Tôi thấy các thuật ngữ được đề cập trong hầu hết các luồng ROM tùy chỉnh và không thể tìm thấy câu trả lời mà tôi có thể hiểu. Tôi hy vọng rằng Android Central có thể giúp đỡ.

Câu hỏi tuyệt vời, Clark. Và tôi nghĩ chúng ta có thể trả lời theo cách mà hầu hết mọi người sẽ hiểu. Như bạn đã lưu ý, bạn thấy các thuật ngữ odex và deodexed trong nhiều bài đăng trên diễn đàn về ROM tùy chỉnh hoặc các loại hack cho điện thoại và máy tính bảng cả. Các nhà phát triển phải mất rất nhiều công sức để tạo ra các ROM đã giải mã từ các ROM "stock", giống như các ROM được cung cấp từ cả OEM và Google như nhau.

Để bắt đầu, chúng ta cần biết tập tin odex là gì. Đây là một phần của một ứng dụng (tệp.apk) đã được dựng sẵn để làm cho Máy ảo Dalvik tải nó nhanh hơn bằng cách sử dụng ít tài nguyên hơn. Nếu bạn tìm trong thư mục / system / app / trên điện thoại hoặc máy tính bảng Android, bạn sẽ thấy rằng mọi ứng dụng đều có cả tệp.apk và tệp.odex. Các tệp này hoạt động cùng nhau thông qua máy ảo Dalvik để làm cho các ứng dụng chạy như trên thiết bị của chúng tôi. Hãy phá vỡ tất cả sau giờ nghỉ.

Máy ảo Dalvik

Máy ảo Dalvik là một phần lớn của hệ thống Android. Nó là thành phần cho phép các ứng dụng bên thứ ba được viết bằng Java chạy trên điện thoại hoặc máy tính bảng của bạn. Bản thân hệ thống khởi động DVM và khi bạn nhấn để khởi động ứng dụng, nó sẽ hoạt động. Nó lấy dữ liệu bên trong các tệp.apk và sử dụng trình biên dịch Just-in-time (JIT), nó xây dựng thông tin vào một chương trình, sau đó chạy nó. Việc có các phần của mã đã được tối ưu hóa và được xây dựng thành một tệp mà DVM có thể chạy giúp quá trình nhanh hơn và sử dụng ít tài nguyên hơn. Đó là những gì một tập tin odex.

Tập tin Odex

Các tập tin odex bạn thấy trong thư mục hệ thống của bạn được xây dựng bởi những người đã viết và xây dựng ứng dụng. Các ứng dụng Android được viết bằng Java, sau đó được chuyển đổi thành mã byte. Sau đó, chúng được chuyển đổi từ các tệp. Class tương thích với Máy ảo Java tiêu chuẩn thành một loại tệp đặc biệt mà Dalvik VM có thể đọc được. Chúng được gọi là tệp.dex. Khi các tệp.dex này được đặt bên ngoài phần còn lại của mã (nằm trong tệp.apk), bạn sẽ chỉ còn lại một tệp.odex độc lập.

Có rất nhiều lý do tốt để có các tệp.odex độc lập. Chúng làm cho thời gian khởi động nhanh hơn (đặc biệt là lần khởi động đầu tiên), bằng cách xây dựng bộ đệm Dalvik khi hệ thống được khởi động. Họ cũng tiết kiệm một số không gian bằng cách chỉ vào khung Android bất cứ khi nào có thể và cho phép nhà phát triển ứng dụng tối ưu hóa các chương trình của mình. Nhưng việc có các tệp sep Cả.odex không thân thiện với hacker.

Khử mùi

Khử các tệp có nghĩa là lấy tệp.odex độc lập và tệp.apk và xây dựng lại chúng để tất cả thông tin ứng dụng dựng sẵn này được chứa trong tệp.apk thay vì tệp của chính nó. Dữ liệu dựng sẵn cho máy ảo Dalvik hiện nằm trong tệp class.dex bên trong tệp.apk, như trong hình trên. Điều đó làm cho các tệp.apk lớn hơn một chút và chúng không thể được tải trước khi hệ thống được kích hoạt. Nhưng chúng có thể được thiết kế ngược bởi tin tặc và chủ đề.

Với tất cả mã và dữ liệu cho chương trình ở một nơi, bạn có thể sử dụng các công cụ để "giải phóng" ứng dụng và chỉnh sửa nó theo cách bạn muốn. Đây là cách các chủ đề và tinh chỉnh như mod phần trăm pin được tạo cho ROM "stock". Sau khi nhà phát triển thực hiện các thay đổi của mình, họ sẽ xây dựng lại tệp.apk và các thay đổi có thể chạy. Điều này sẽ không ảnh hưởng đến bất kỳ phần nào khác của hệ thống vì không có mã hoặc dữ liệu nào được chia sẻ với các ứng dụng khác.

Bạn nên chọn cái nào?

Điều đó thực sự tùy thuộc vào bạn, và nhu cầu của bạn sẽ là gì, nhưng tôi khuyên bạn nên flash phiên bản deodex bất cứ khi nào có thể. Có, ROM odex khởi động nhanh hơn, nhưng bạn thực sự chỉ chú ý đến nó trong lần khởi động đầu tiên khi tất cả các ứng dụng hệ thống được lưu trữ trước bởi máy ảo Dalvik. Bạn cũng có thể tiết kiệm một chút dung lượng bằng cách sử dụng các tệp odex, nhưng không gian này nằm trong phân vùng hệ thống và sẽ không cung cấp cho bạn nhiều ứng dụng hơn nếu điện thoại hoặc máy tính bảng của bạn sử dụng phân vùng ứng dụng riêng. Với điện thoại hiện đại ngày nay và bộ xử lý đa lõi và bộ nhớ RAM khổng lồ, bạn thậm chí sẽ không nhận thấy bất kỳ thời gian tải ứng dụng nào nhanh hơn.

Nếu bạn muốn làm những việc như thay đổi thanh trạng thái hoặc chủ đề TouchWiz hoặc Sense, bạn sẽ cần một ROM deodex. Bạn cũng sẽ cần một ROM deodex để thực hiện một số điều chỉnh hệ thống thực sự thú vị như thay đổi menu cài đặt hoặc chỉnh sửa khung. Nói tóm lại, nếu bạn đã mở khóa bộ nạp khởi động và đã root, và bạn đã sẵn sàng cho một ROM tùy chỉnh, chọn một phiên bản đã giải mã có lẽ là lựa chọn tốt nhất. Bạn sẽ ngạc nhiên về những điều mà các nhà phát triển điên rồ này có thể nghĩ ra và chắc chắn bạn sẽ gặp phải một vài điều bạn muốn tự mình thử.