Tôi thấy thư viện này (armeabi) nhiều lần khi tôi khám phá các nguồn mở, và tôi "googled" cho Định nghĩa nó, và tất cả các kết quả tôi tìm thấy nói về nó và không xác định nó, tôi muốn biết armeabi này là gì và tại sao họ sử dụng nó trong ứng dụng android.armeabi là gì và tại sao họ sử dụng nó
Trả lời
Thiết bị Android có CPU. Nhiều CPU trong số đó dựa trên kiến trúc ARM, trong khi một số dựa trên x86, và một số khác dựa trên các thứ khác như MIPS.
Một số ứng dụng Android sử dụng Bộ phát triển gốc (NDK) để tạo mã C/C++ để liên kết với ứng dụng của chúng. Mã C/C++ cần được biên dịch cho một kiến trúc CPU cụ thể. NDK đặt phiên bản của mã C/C++ được biên dịch cho mỗi kiến trúc vào một thư mục kiến trúc cụ thể. Một trong những thư mục đó là armeabi/
, dành cho CPU ARM chung. Ngoài ra còn có armeabi-v7/
(đối với một ARM CPU v7 tương thích), x86/
(cho x86 CPU) vv
ABI - Application Binary Interface
EABI - Embedded Application Binary Interface
Vì vậy, ARMEABI là các tệp nhị phân được biên dịch phù hợp với kiến trúc CPU của thiết bị Android của bạn.
ví dụ:
arm64-v8a (Nexus 5x) - 64bit - ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM Cortex-A72, ARM Cortex-A73
armeabi-v7a - 32bit - ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17
Để đưa *. do đó nhị phân jniLibs sử dụng Android Studio 2.3 đặt chúng trong thư mục src/main/jniLibs
và thêm cấu hình sau vào tệp * .gradle của bạn:
android {
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
}
dependencies {
compile fileTree(dir: 'jniLibs', include: ['*.so'])
}
- 1. Tại sao sử dụng mã armeabi-v7a trên mã armeabi?
- 2. Cordova Telemetry, nó là gì và tại sao lại sử dụng nó?
- 3. Asm ("pause") làm gì và tại sao sử dụng nó
- 4. Repo là gì và tại sao Google sử dụng?
- 5. AudioFlinger là gì và tại sao nó thất bại TONE_PROP_ACK?
- 6. CGSUpdateManager là gì và tại sao nó phàn nàn?
- 7. AF_INET là gì và tại sao tôi cần nó?
- 8. NPM là gì và tại sao tôi cần nó?
- 9. .inc là gì và tại sao sử dụng?
- 10. ReverseHTTP là gì và tại sao nó lại hữu ích?
- 11. "Toán học chuỗi" là gì và tại sao nó xấu?
- 12. MQ là gì và tại sao tôi muốn sử dụng nó?
- 13. Phương pháp Javascript CollectGarbage() là gì? Khi nào và tại sao nó nên được sử dụng?
- 14. URL blob là gì và tại sao nó được sử dụng?
- 15. JAXB là gì và tại sao tôi nên sử dụng nó?
- 16. Yếu tố el/là gì? Làm thế nào để tôi sử dụng nó? Và tại sao?
- 17. PDO là gì và tại sao tôi nên sử dụng nó?
- 18. Virtualenv là gì và tại sao tôi nên sử dụng nó?
- 19. OrderInCategory trong mục menu ActionBar là gì và tại sao nó được sử dụng cho ..?
- 20. Giao thức TDS phiên bản 8.0 là gì và tại sao tôi nên sử dụng nó?
- 21. Cách chính xác để sử dụng v8 :: Locker là gì và tại sao tôi phải sử dụng nó?
- 22. Thuộc tính tạm thời factory_girl là gì? Tại sao tôi lại sử dụng nó?
- 23. Tại sao console.log được sử dụng? Nó làm gì?
- 24. Node.js phân lập là gì? Và tại sao họ lại chết?
- 25. uint_fast32_t là gì và tại sao nó nên được sử dụng thay cho int và uint32_t thông thường?
- 26. cổng zookeeper và cách sử dụng của nó là gì?
- 27. Carotene_o4t là gì và tại sao nó gây ra vấn đề với việc biên dịch một chương trình bằng cách sử dụng opencv với Qt trên Android?
- 28. Strophe là gì và cách sử dụng nó với JQuery?
- 29. SignInManager, nó là gì và cách sử dụng?
- 30. EntityManager.flush làm gì và tại sao tôi cần sử dụng nó?