2016-01-21 28 views
7

Tôi đã nhận thấy sự khác biệt về kích thước giữa gói ứng dụng được tạo với 2 tùy chọn này.Android Studio: Sự khác biệt về kích thước giữa Xây dựng APK và Chạy APK

tại sao điều này lại xảy ra?

Với Build -> Build apk tùy chọn:

MyProject \ ứng dụng \ build \ đầu ra \ apk \ app-debug.apk (Kích 2,997 KB)

Với Chạy ứng dụng tùy chọn :

MyProject \ ứng dụng \ build \ đầu ra \ apk \ app-debug.apk (Kích 3.300 KB)

Cảm ơn.

Trả lời

3

Điều này có thể sẽ được trả lời tốt hơn nếu được đặt là issue cho nhóm Android Studio. Tôi đoán là bạn đang sử dụng Instant Run bên trong Android Studio (AS). Điều này sẽ giải thích kích thước lớn hơn vì Instant Run tạo ra các lớp proxy cho mã đã thay đổi.

Chỉnh sửa cấu hình Run để xây dựng sử dụng gradle build và bạn sẽ có thể xóa mã phụ ... Nhưng điều này S come đi kèm với thời gian xây dựng/triển khai lớn hơn nhiều ... Nếu kích thước của bản dựng gỡ lỗi thực sự quan trọng sau đó bạn OK nhưng đối với hầu hết điều này sẽ làm hỏng tất cả những cải tiến mà nhóm Android đã thực hiện cho DSL gần đây để cải thiện tốc độ

+0

Có, đó là, chạy Instant Nó sẽ được thêm vào kích thước tệp, cảm ơn !!! – seba123neo

4

APK dựng là lối tắt để chạy :app:assembleDebug Tác vụ Gradle (giả sử bạn có biến thể gỡ lỗi hoạt động trong Xây dựng các biến thể cửa sổ).

Khi chạy ứng dụng, trước tiên chúng tôi sẽ hỏi bạn thiết bị nào bạn muốn nhắm mục tiêu và sau đó chuyển thông tin đến Gradle. Trong số những thứ khác, điều này cho phép chúng tôi lọc ra các tài nguyên không cần thiết. Nếu bạn đã bật tính năng Instant Run, chúng tôi cũng sẽ thêm mã bổ sung vào APK.

+0

Có, đó là, chạy Instant Nó được thêm vào kích thước tập tin, cảm ơn !!! – seba123neo

+0

ok, sau đó làm thế nào để có được apk cũ của tôi với kích thước giảm, một lần cũng gói mã bổ sung vào APK –

4

Chạy tức thì của tôi đã tắt.

Tôi nhận được kích thước APK 6MB sử dụng Run->Run 'App' và 11MB sử dụng tùy chọn Build->Build APK cho cả APK đã ký và chưa ký. Tùy chọn Build->Generate Signed APK... cũng mang lại cho tôi 11MB APK cho ứng dụng của tôi.

Tôi nghĩ Android Studio thả một số tài nguyên để giúp xây dựng nhanh hơn.

APK có kích thước 11MB có nhiều tài nguyên hơn, do đó, nó sẽ là tùy chọn tốt hơn để tải lên trên cửa hàng play.

Tôi đã sử dụng Build->Analyze Apk... để phân tích cả hai APK vì vậy tôi đã tìm thấy sự khác biệt 5.7mb trong lý do res bởi một số drawables thêm từ thư viện v4 và v17.

enter image description here

6

Khi bạn tạo xây dựng bởi dựng-> Xây dựng apk, các gói ứng dụng sẽ chứa tất cả các nguồn lực cho tất cả các thiết bị. tức là đối với ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi.

Nhưng trong trường hợp bạn đang chạy ứng dụng trên thiết bị/trình giả lập, nó sẽ phát hiện ra độ phân giải của điện thoại và sẽ chỉ thêm các tài nguyên có độ phân giải đó vào tệp APK. Ví dụ, nếu thiết bị của bạn là xhdpi, nó sẽ thả tất cả các độ phân giải màn hình khác và sẽ chỉ chứa các tài nguyên xhdpi.

Các vấn đề liên quan