Các Xamarin documentation là một chút không rõ ràng về điều này. Nếu tôi xây dựng ứng dụng của mình chỉ với armeabi được chọn trong tùy chọn xây dựng, ứng dụng của tôi sẽ là:Một ứng dụng được xây dựng chỉ với armeabi chạy trên thiết bị armeabi-v7a?
- Có sẵn cho các thiết bị v7a trong Cửa hàng Play?
- Chạy trên thiết bị v7a?
Nếu nó chạy, có bất kỳ tính năng nào như sử dụng các chuỗi dẫn đến hành vi hoặc sự cố không mong muốn không?
Tôi có một ứng dụng đơn giản và đang cố gắng giữ cho nó nhỏ. Ngoài ra, tôi không có thiết bị v7a để thực hiện thử nghiệm nhanh.
Làm rõ:
Trong khi có vẻ là sự chấp nhận rõ ràng rằng đó là "an toàn, nhưng không quá performant" để biên dịch một ứng dụng Android chỉ với những thư viện amreabi (xem bài này tuyệt vời: Why use armeabi-v7a code over armeabi code?), các Xamarin docs on CPU architecture, mà tôi giả định áp dụng đối với họ biên soạn .so thư viện, nói:
điều quan trọng là hãy nhớ rằng thời gian chạy armeabi sử dụng bởi Xamarin.Android là chủ đề an toàn. Nếu một ứng dụng có hỗ trợ vũ khí được triển khai cho thiết bị armeabi-v7a, nhiều trường hợp lạ và ngoại lệ không thể giải thích sẽ xảy ra.
Tôi đã có thể thử nghiệm ứng dụng của mình vừa được biên dịch với armeabi trên thiết bị v7a và chưa chạy vào bất kỳ "ngoại lệ lạ và không thể giải thích" nào YET.
Cập nhật:
Hình như các tài liệu Xamarin từ đó đã được cập nhật và bây giờ (2014/07/14) lần đọc:
điều quan trọng là hãy nhớ rằng thời gian chạy armeabi sử dụng bởi Xamarin.Android là không phải là chủ đề an toàn. Nếu một ứng dụng có hỗ trợ armeabi được triển khai cho thiết bị armeabi-v7a, nhiều trường hợp ngoại lệ lạ và không thể giải thích được sẽ xảy ra.
Trừ khi Xamarin vặn thứ gì đó lên, mã 'armeabi' sẽ chạy tốt trên các thiết bị ARM v7a. Nó chắc chắn làm cho phát triển NDK thông thường của Android. – CommonsWare