В настоящее время наше приложение Xamarin для Android (PCL) огромно, на мой взгляд, даже в режиме выпуска. Я подозреваю, что это связано с поддержкой архитектуры. В настоящее время мы все выбрали. Кто-нибудь знает, нужно ли нам выбирать все эти? Мы вообще не используем Android NDK.Какие Xamarin ABI мы должны поддерживать
ответ
Скопируйте часть ответа с here.
Убедитесь, что вы, по крайней мере, проверяете следующие архитектуры: armeabi, armeabi-v7a и x86. Вы можете сделать два других, но мы не с тех пор, как мы используем компиляцию LLVM в режиме выпуска, что несовместимо с 64-битными архитектурами. Хорошо, что все 64-битные архитектуры все еще могут использовать 32-битные сборки, поэтому они все еще будут покрыты, если вы проверите их. 3.
Так что я просто проверил бы эти 3, если у вас нет определенной причины для проверки других. У нас было 0 проблем с установкой нашего приложения на устройствах, использующих только эти 3.
На стороне примечания, включение LLVM-компиляции и оптимизация ваших значков/изображений поможет с окончательным размером APK.
* Редактировать: С момента написания этого мы столкнулись с a bug только на некоторых устройствах (Android Nexus 9), что приводит к сбою приложения при запуске приложения. Решение состоит в проверке архитектуры arm64-v8a. Это, вероятно, увеличит размер приложения, так что взвесим плюсы и минусы и посмотрим, какая разница в размере вашего APK после включения архитектуры или разделить APK для каждой архитектуры, если это необходимо.
Нет, вам не придётся выбирать все из них. Вы можете создать .apk
за ABI
, если хотите уменьшить размер .apk
. Примечание: Обоснованный метод заключается в том, что вы разрабатываете и публикуете один .apk
. Однако это не всегда практично, и иногда лучше создавать отдельные. Хотя этот ответ только углубляется в разные архитектуры CPU (ABI), вы также можете создавать разные .apk
для размера экрана, функций устройства и уровней API.
https://developer.xamarin.com/guides/android/advanced_topics/build-abi-specific-apks/
http://developer.android.com/google/play/publishing/multiple-apks.html
Я рекомендовал бы захватывая инструмент, как WinDirStat (https://windirstat.info/) или Disk Inventory X (http://www.derlien.com/), чтобы выяснить, почему ваш .apk
настолько велик. Вы можете найти другие причины, по которым ваши .apk
являются большими, такими как ресурсы (изображения, сырые файлы), сборки и т. Д.
Мне нужно будет изучить WinDirStat. Похоже, это хороший способ исследовать вещи. –
- 1. Какие поддерживаемые ABI для Google Play
- 2. Должны ли мы поддерживать контроль над метаданными подключения
- 3. Spark Streaming: Что мы должны отслеживать, чтобы поддерживать поток?
- 4. Должны ли мы по-прежнему поддерживать iOS 4?
- 5. Какие «стандартные» коды возврата/выхода приложения должны поддерживать приложение?
- 6. Помимо PayPal, какие другие платежные услуги должны поддерживать веб-приложение?
- 7. Поддерживать Cookies UIWebView iOS Xamarin
- 8. Какие варианты наследования javascript мы должны использовать и почему?
- 9. PHP - Какие данные мы должны включить в сеанс?
- 10. Какие рамки мы должны рассмотреть для пользовательского веб-приложения?
- 11. Какие шаблоны проектирования мы должны использовать с Selenium WebDriver?
- 12. Какие аббревиатуры мы должны использовать для имен переменных python?
- 13. Какие методы мы должны использовать для предотвращения выхода JVM OutOfMemory?
- 14. Какие индексы мы должны создать в mongodb для повышения производительности?
- 15. Какие лучшие практики мы должны стремиться получить отличные продукты?
- 16. C++ - Какие параметры я должен принять? (Когда мы должны нарисовать?)
- 17. Должны ли мы ожидать, что в GAE мы будем поддерживать больше провайдеров openID в будущем?
- 18. Когда мы должны использовать класс, а когда мы не должны
- 19. Какие платформы поддерживает Xamarin?
- 20. Насколько мы должны знать компилятор?
- 21. почему мы должны WCF
- 22. Почему мы должны выпускать?
- 23. Какие платформы должны включать пакеты Microsoft.Bcl. * NuGet?
- 24. является Xen ABI истинной ABI?
- 25. , когда мы должны называть base.OnPaint() когда мы
- 26. Поддержание ABI: добавление конструктор структуры
- 27. Должны ли хранилища управления версиями поддерживать поиск?
- 28. Какие версии dotnetstandard поддерживает Xamarin?
- 29. Должны ли мы исправить эту ошибку?
- 30. Почему мы должны использовать HandleErrorAttribute?
Это те 3, которые мы выбрали сейчас. Спасибо за информацию! –