Tôi có một vài thư viện gốc khá lớn và đầy hơi kích thước nhị phân của ứng dụng. Tôi đã xem xét APK splitting nhưng việc duy trì và QAing nhiều APK không phải là điều tôi muốn làm.Sử dụng kiến trúc Android?
Vì vậy, tôi muốn loại trừ các kiến trúc không sử dụng trong bản phát hành xây dựng hương vị của tôi bằng cách sử dụng thuộc tính ndk.abiFilters Gradle. (Gỡ lỗi xây dựng tôi muốn để lại một mình để tôi có thể chạy trình mô phỏng tăng tốc HAXM trên x86).
Tôi đã nghĩ đến việc chỉ có armeabi-v7a và arm64-v8a trong hương vị phát hành của mình, nhưng tôi không chắc liệu đáng lo ngại về thị phần của các kiến trúc khác mà tôi đang giảm. Sau rất nhiều tìm kiếm xung quanh tôi không thể tìm thấy bất kỳ tham chiếu đến thị phần của ARMv6 (armeabi), MIPS, x86 hoặc x86_64. Trực giác của tôi nói với tôi rằng ba cái sau gần như không tồn tại, nhưng tôi không chắc chắn về ARMv6.
Tôi đã tìm thấy this link on a forum có danh sách các điện thoại sử dụng nhiều kiến trúc khác nhau. Có điều gì đáng tin cậy hơn ở đâu đó không? Có thể với% người dùng tương tự bảng điều khiển phiên bản Android?
Bất cứ điều gì khác tôi có thể bỏ lỡ nếu tôi chỉ xây dựng libs bản địa của mình cho armeabi-v7a và arm64-v8a (hoặc armeabi, armeabi-v7a và arm64-v8a)?
Vì vậy, bạn đang nói armeabi-v7a là tất cả những gì thực sự cần trừ khi hỗ trợ <4.4 hoặc cần thêm sự hoàn hảo từ v8a? –
Khá nhiều. Một số thiết bị x86 có thể không hỗ trợ các tệp nhị phân cánh tay nhưng tôi nghĩ hầu hết các thiết bị đó đều hoạt động. Ngoài ra còn có các thiết bị mips, và tôi không nghĩ rằng chúng bao gồm mô phỏng cánh tay. Mặc dù chúng khá hiếm (có lẽ một đơn hàng magniture hiếm hơn các thiết bị x86 mặc dù tôi không tìm thấy bất kỳ thống kê nào để sao lưu nó). – mstorsjo
@mstorsjo bạn có thể giải thích cách sử dụng tệp thư viện armeabi-v7a cho tất cả các kiến trúc không? Trong phương pháp tiếp cận hiện tại của tôi, tôi phải sao chép thư viện vào jniLibs/armeabi, jniLibs/armeabi-v7a và jniLibs/x86, làm cho APK lớn hơn. –