Support 64-bit architectures Android
Bài đăng này đã không được cập nhật trong 5 năm
Theo như thông báo của Android
Bắt đầu từ ngày 1 tháng 8 năm 2019, các ứng dụng được public trên Google Play sẽ cần hỗ trợ kiến trúc 64 bit. Do CPU 64 bit mang lại trải nghiệm nhanh hơn, phong phú hơn cho người dùng . Việc thêm phiên bản 64 bit của ứng dụng sẽ cung cấp các cải tiến về hiệu suất và
Bài viết này sẽ giải thích các bước bạn có thể thực hiện để đảm bảo rằng ứng dụng 32 bit của bạn đã sẵn sàng hỗ trợ các thiết bị 64 bit.
1. Đánh giá ứng dụng của bạn
Nếu ứng dụng của bạn chỉ sử dụng mã được viết bằng Java hoặc Kotlin thì ứng dụng của bạn đã sẵn sàng cho các thiết bị 64 bit.
Ngược lại nếu bạn không chắc ứng dụng của mình có support kiến trúc 64 bit bạn có thể kiểm tra theo các bước dưới đây
Điều đầu tiên cần làm là kiểm tra xem ứng dụng của bạn có sử dụng bất kỳ code native nào không.
- Sử dụng bất code C / C ++ nào trong ứng dụng của bạn.
- Liên kết với bất kỳ thư viện riêng của bên thứ ba.
- Được build bởi third-party app dùng native libraries.
Đối với kiến trúc ARM, các thư viện 32 bit được đặt trong armeabi-v7a
.
Tương đương 64 bit là arm64-v8a.
Đối với kiến trúc x86, x86 cho 32 bit và x86_64 cho 64 bit ( kiến trúc này hiện chỉ có trên các device simulator , device thật chỉ chiếm tỉ lệ rất ít nên các bạn cũng không cần quan tâm nhiều đến kiến trúc này )
Tiếp theo bạn có thể check trực tiếp bằng APK Analyzer trong Android Studio
1 ) Mở Android Studio,
2 ) chọn Build > Analyze APK…
3 ) Chọn APK you muốn đánh giá
4 ) Trong thư mục lib
, nơi bạn sẽ tìm thấy bất kỳ tệp '.so'
nào.
Nếu bạn không thể tìm thấy bất kỳ tệp '.so' nào thì chúc mừng ứng dụng của bạn đã sẵn sàng và không cần đọc tiếp bài này.
Ngược lại nếu bạn thấy armeabi-v7a
hoặc x86
, thì ứng dụng của bạn chỉ có thư viện 32bit. Bạn cẩn update để ứng dụng của bạn support device 64bit ( Xem bên dưới )
Nếu bạn thấy có cả arm64-v8a
trong thư mục lib
thì điều đó chứng tỏ ứng dụng của bạn đã support device 64bit .Và bạn không cần phải update thêm gì cả .
Ví dụ như ảnh trên không có arm64-v8a
trong thư mục lib
vì thế ứng dụng của bạn chưa support device 64bit
2. Update APK support device 64bit
Hầu hết các dự án Android Studio đều sử dụng Gradle làm hệ thống build cơ bản.
Việc kích hoạt các bản dựng cho code của bạn cũng đơn giản như thêm arm64-v8a và / hoặc x86_64, tùy thuộc vào (các) kiến trúc bạn muốn hỗ trợ, vào cài đặt ndk.abiFilters
trong tệp 'build.gradle'
của ứng dụng của bạn:
thêm đoạn code sau :
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
Cụ thể sẽ như thế này
// app.build.gradle
apply plugin: 'com.android.app'
android {
compileSdkVersion 27
defaultConfig {
appId "com.google.example.64bit"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
// ...
Tiếp theo , vẫn trong file build.gradle đó thêm đoạn code
splits {
abi {
enable false
reset()
include 'armeabi-v7a', 'arm64-v8a'
}
}
Bạn có thế include
thêm'x86','x86_64'
nếu muốn build app trên device simulator
Cuối cùng syn lạibuild.gradle
, rebuild lại project sẽ generate file APK support device 64bit
Để đảm bảo các bước trên của bạn đã đúng bạn có thể kiểm tra lại theo như hướng dẫn dưới đây
3 . Kiếm tra
1 ) File APK sau khi generate ra sẽ có dung lượng lớn hơn file APK ban đầu chưa support device 64 bit
2 ) Thực hiện lại các bước APK Analyzer ở phần 1 , bạn sẽ thấy có thêm arm64-v8a
trong thư mục lib
3 ) Dùng câu lênh command line để kiếm tra
Bạn build file APK vừa generate trên vào device 64 bit
NOTE: Để kiểm tra xem device của bạn có phải 64 bit k bạn có thể check tại đây
Run command :
adb install --abi arm64-v8a YOUR_APK_FILE.apk
kết quả Success
thì ứng dụng của bạn đã được support device 64bit
Bài viết của mình đến đây là hết cảm ơn các bạn đã theo dõi !
Ref : https://developer.android.com/distribute/best-practices/develop/64-bit
All rights reserved