Я работаю в Android Studio и столкнулся с этой ошибкой при попытке создать подписанный APK для выпуска. Мне удалось создать и протестировать отладочную APK без проблем, но как только я захочу создать APK выпуска, процесс сборки будет работать в течение нескольких минут подряд, а затем окончательно завершится с помощью «Ошибка java.lang.OutOfMemoryError: GC превышение верхнего предела ". Я увеличил размеры кучи как для VM, так и для компилятора Android DEX, но проблема не устранена. Наконец, после многих часов и кружек кофе выяснилось, что проблема была в моем файле buildGradle на уровне приложения. У меня был параметр minifyEnabled для типа сборки релиза, установленного на «ложь», и, следовательно, работа с продуктами Proguard по коду, который не прошел через процесс сжатия кода (см. https://developer.android.com/studio/build/shrink-code.html ). Я изменил параметр «minifyEnabled» на «true», а сборка релиза была выполнена как сон:)
. Короче, мне пришлось изменить файл «build.gradle» на уровне приложения из: //. ..
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.sign_config_release
}
debug {
debuggable true
signingConfig signingConfigs.sign_config_debug
}
}
//...
-
//...
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.sign_config_release
}
debug {
debuggable true
signingConfig signingConfigs.sign_config_debug
}
}
//...
Тем не менее Вы хотите посмотреть на ответы на Существенные Инструменты Программирования и Каков Ваш лучший список, ‘должен иметь’ средства разработки?; в то время как не определенный для.NET, они должны применяться так или иначе.
Большие инструменты и платформы важны, но другая основа является большим лидерством проекта.
Я добавил бы Resharper к списку и Ndepend. Наиболее вероятный Носорог дразнит также.
Я рекомендовал бы Safari Книги подписка Онлайн также.
О, и галлоны кофе.
Я добавил бы еще один к тому, что edg говорит там. Вам нужны люди с наконец некоторым талантом также.
Как David Wheeler, говорит автор средства проверки исходного кода Flawfinder:
Дурак с инструментом является все еще дураком
Я добавлю Moq к списку для насмешки к списку. Намного меньше синтаксиса, чем большинство других платформ насмешки.
Я определенно рекомендовал бы Coderush+Refactor или Resharper (Coderush, являющийся моим любимым), эти инструменты существенно уменьшают время для движения из кода в голове для кодирования на странице.
Для быстрой разработки наборы компонента UI от подобных Telerik/DevExpress/Infragistics могут быть хорошими, но по моему опыту могут причинять боль далее в проекте, когда Вы хотите совершенствовать вещи более точно.
Относительно платформ и т.д. я думаю, что необходимо было бы быть немного более конкретны относительно самого проекта для получения любых значимых предложений.
Хорошее управление исходным кодом должно, вероятно, быть Вашим приоритетом номер 1. У меня есть mentioed их прежде, но CVSDude являются превосходным управляемым поставщиком управления исходным кодом. Я использую пакет SVN, и это является блестящим. Сохраняет много стычки, настраивающей Ваш собственный сервер и т.д.
Библиотека Предприятия Microsoft может быть также полезной.
Этот выпуск Библиотеки Предприятия включает блоки приложений для Кэширования, Криптографии, Доступа к данным, Обработки исключений, Входа, Инжекции политики, безопасности и Проверки.
Это - то, что мы используем для нашей команды:
Отслеживание ошибки: Redmine - Это - потрясающий, свободный, инструмент Проблемы/Управления проектами. Это - рубин на приложении для направляющих однако, таким образом, Вам будет нужна надлежащая среда для подъема его и выполнение.
Управление исходным кодом: Подверсия с tortoiseSVN - подверсия является потрясающим решением для управления исходным кодом, и черепаха интегрируется с проводником очень приятно, никакой потребностью в материале командной строки. Это также поддерживает сценарии рычага стороны пользователя, который пригодился неоднократно для моей команды.
И это об этом действительно. Мы не используем основную платформу, вместо этого мы просто прокручиваем наши собственные библиотеки, которые соответствуют тому, что мы должны сделать с данным проектом. Мы действительно используем jQuery для библиотеки JavaScript как бы то ни было.
Некоторыми другими случайными вещами был бы бесплатный кофе, и лучшие деньги на оборудование могут купить.