Что такое build в версии приложения?
Как вычисляется число build, которое обычно пишут в версии приложения? Если это номер сборки, то как его можно узнать, например, в android studio? И почему оно может быть таким огромным?
или

- Вопрос задан более трёх лет назад
- 7844 просмотра
Комментировать
Решения вопроса 1
Saboteur @saboteur_kiev
software engineer
Каждый раз, когда продукт собирается из исходников — это build
Большой номер может быть по разным причинам.
1. Очень много коммитов (на каждый отдельный билд).
2. При переходе на более новые версии, номер билда не обнуляли а округляли с запасом. например v 1.0-1, v1.0-2, v1.0-3, v2.0-100, v2.0-101
так могли с запасом и до тысячи округлить.
3. Номер билда может содержать не просто инкремент, а например дату
16082501, 16082502
4. Какие-то свои заморочки.
Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- JavaScript
- +1 ещё
Какой есть простейший сборщик для верстки?
- 1 подписчик
- 24 нояб.
- 161 просмотр
Кратко и Ясно!: Build.prop, телефон кирпич, помогите!
Народ Хелп не окончательный кирпичь но всё-же! Папке System рылся я в файле Build.prop чтобы скачать игр из play market, ну всё прошло хорошо игра скачалась и я решил вернуть всё обратно! Делал я себе модель Galaxy S7 но это не важно, воощем т. к у меня была копия Build.prop с моими параметрами я просто удалил изменённый build.prop и вместо него воткнул копию с моими параметрами! Ну всё хорошо, и потом зачем-то я захожу в настройки и вижу что модель телефона так и осталась Galaxy S7, перезагружаю телефон и тут бац! и всё! показывает надпись Fly Evo Tech 4, потом начинается загрузка но сама загрузка не идёт и он просто стоит на месте! Я решил сделать Wipe Data через Recovery, но только потом понял что мне это не поможет т. к Build.Prop находится в папке System! Но после этого Wipe помоему стало только хуже т. к теперь при включении всё та-же картинка Fly Evo Tech 4 но после неё вместо картинки загрузки чёрный экран! Прошивка Страндартная ибо до вчерашнего дня для меня она не имела смысла) из Backup есть только Backup SD Card который вообще тут не поможет, и Backup Data Files сделаный через Recovery Menu уже во время проблемы, который так-же тут ничем не поможет! Гарантия давным довно кончилась, так что надежда только на вашу помощь! Пожалуйста помогите!
Лучший ответ
Если у тебя остался резервный файл Build.prop, то можно закинуть его обратно где он стоял. Тебе нужно скачать проводник для recovery к примеру «aroma file manager.zip «. Проверял только на TWRP, а так на CWM и др. не знаю
Леонид КапелинЗнаток (320) 6 лет назад
TWRP и CWM это кастомные recovery? резервная копия к счастью осталась! какую из этих recovery лучше ставить, и как поставить aroma?
Абды Гурбанов Профи (812) aroma file manager я запускал на TWRP. поставь его
Леонид КапелинЗнаток (320) 6 лет назад
Чёрт у меня остался только изменённый build.prop где не мои данные а данные телефона на который я всё менял! ну я там примерно помню что где!
Леонид КапелинЗнаток (320) 6 лет назад
я нашёл копию моего build.prop’a, но до меня только щас дошло, а как мне это поможет? ведь я удалил из телефона оригинальный build.prop в котором были изменены данные и заменил его другим! копией оригинала но с моими данными! и если я сейчас эту копию опять-же заменю копией как мне это поможет?
Абды Гурбанов Профи (812) через рекавери скопируй все данные с телефона и сделай прошивку, так будет намного легче
Всего лишь меняем модель эмулятора Android устройства
Казалось бы, на первый взгляд весьма простая задача. Некоторые читатели могли еще в те бородатые времена лазить по всяким 4пда, рутить свой сенсорный самсунг, менять содержимое файла build.prop и показывать наивным ламерам свой iPhone 15+ Max Pro. Однако, как оказалось, и как оно часто бывает, не все так просто и здесь есть свои подводные камни. Статья призвана помочь простым работягам избежать все кочки да ямы на пути к своей цели!
Дисклеймер
Сразу предупрежу, что люблю писать подобные статьи довольно подробно, не ради объема и многобукав, а ради максимального погружения в проблему и способ ее решения. Обратите внимание, что я работаю на macOS, поэтому все команды в терминале будут ориентированы под данную ОС. Также, следует отметить, что проворачиваю все это для API 30, то есть для самого последнего на момент написания статьи. Как говорят интернеты, сложности по этой теме начались с API 29.
Зачем это нужно?
Предполагаю, что у вас, дорогой читатель, есть на это своя веская причина, иначе не стали бы вы этим заниматься. Наиболее вероятно, что у вас, как и у меня есть программная проверка на модель устройства с которого запущено приложение, примерно как здесь. К слову, таким образом можно будет проверять результат наших трудов. Второй же, и более простой способ проверки модели эмулятора будет через настройки девайса в разделе сведений об устройстве:

Ради контекста вкратце расскажу зачем это понадобилось мне. Я получил .apk с багом где-то внутри приложения. Однако пройти дальше первого экрана в этом приложении я не смог. Дело в том, что при запуске, с сервера приходит список разрешенных для запуска устройств и ни мой народный Ксяоми, ни мой эмулятор в этот список не входит. Вот и додумался поменять имя модели устройства на одно из разрешенных. Рутить свой личный телефон не хотелось, поэтому решил шаманить с эмулятором.

Достаем build.prop
Как уже говорилось в начале статьи, за имя производителя и модель устройства отвечает системный файл build.prop, который находится в корне устройства в папке system/. Однако при попытке просмотреть его, не говоря уже о редактировании, мы получим отказ в доступе:

Для решения этой проблемы необходимо в терминале обратиться к adb и запросить root права следующей командой: adb root . И вот и первый подводный камень, а именно вывод следующего сообщения: adbd cannot run as root in production builds . Это из-за того что при создании эмулятора мы выбрали вариант с установленными Google сервисами:

Простое решение — создать эмулятор без установленных Google сервисов, после чего повторить команду adb root . После чего в консоли должно появиться сообщение: restarting adbd as root что говорит об успешном проведении операции. Естественно если с самого начала у вас был эмулятор без Google сервисов, то скорее всего с adb root и выше описанной проблемой вы не столкнулись.
Отлично, теперь мы видим содержимое файла build.prop:

Редактируем build.prop
Сохраним файл build.prop в любое удобное место для дальнейшего редактирования выделенной красным области на скриншоте выше. Я сохранил прямо на рабочий стол:

Вносим необходимые изменения. Просмотрев логи запросов и ответов предоставленного мне .apk я нашел приходящий с сервера список разрешенных устройств. То есть, для моих целей нужно поменять два значения на PIXEL 3A XL (как вы поняли, здесь вы можете указывать необходимую именно вам модель):

Сохраняем изменения и заливаем файл обратно на эмулятор. Делается это при помощи команды adb push (кстати, скачать файл с эмулятора можно при помощи adb pull если у вас вдруг аллергия на GUI).
Вводим команду в терминал: adb push build.prop system/
И получаем ошибку:
adb: error: failed to copy ‘build.prop’ to ‘system/build.prop’: remote couldn’t create file: Read-only file system
Вот здесь и начинается самое интересное! По умолчанию эмулятор запускается в режиме чтения системных файлов, без возможности делать записи. Следовательно, что либо поменять без прав на запись у нас не выйдет. Для этого нам необходимо запустить эмулятор в ручном режиме с доступом на запись системных файлов.
Запускаем эмулятор с доступом на перезапись системных файлов
Для этого нужно выполнить следующую команду в терминале (чтобы скорее всего получить еще одну ошибку):
emulator -avd Pixel3XLAPI30 -writable-system -no-snapshot -nocache
итак здесь Pixel3XLAPI30 — это название нашего эмулятора который мы будем запускать в режиме записи, получить это имя можно выполнив команду emulator -list-avds
-writable-system — собственно тот самый флаг и виновник торжества.
-no-snapshot -nocache — просто советую ввести чтобы избавиться от любого возможного мусора, который может помешать нашему плану-капкану.
После у нас либо запустится эмулятор (несколько секунд запускается, так что если тупит то так и должно быть) либо получаем ошибку следующего типа:
PANIC: Missing emulator engine program for ‘x86’ CPU.
Что бы и нам решить с этим нужно в файле .bash-profile (или если у вас zsh то в файле .zshenv) находящийся в корне вашего профиля macOS, добавить дополнительные пути. Вот как это выглядит у меня:
есть такая переменная ANDROIDHOME и с ее участием редактируем переменную PATH:
Чтобы изменения вступили в силу перезапускаем терминал (или вводим source ~/.bash_profile ) (или source ~/.zshenv ). Результат можно проверить выполнив команду echo $PATH и убедиться что в переменной PATH появился добавленный нами путь.
Пробуем запустить эмулятор еще раз.
emulator -avd Pixel3XLAPI30 -writable-system -no-snapshot -nocache
Теперь он должен был успешно запустится.
Активируем доступ на перезапись системных файлов
Из описания флага -writable-system:
-writable-system make system & vendor image writable after ‘adb remount’
делаем вывод что теперь нам нужно выполнить adb remount . Для этого открываем новое окно терминала и выполняем сначала команду adb root , что бы adb remount сработало.
После adb remount , будет сообщение что эмулятор нужно перезапустить. Сделать это можно командой adb reboot. Но и здесь не все так просто. Очередной подводный камень об который мы разбили еще один ноготь на пальцах ног. Если сделать adb reboot то все просто напросто зависает НАВСЕГДА. Настолько навсегда, что придется удалять эмулятор и создавать его заново. Интернет и с этим столкнулся и даже баг создали на гуглов. И благо нашлось решение. Чтобы эмулятор не зависал нужно добавить пару команд до adb remount .
Итак по порядку:
- Делаем adb root
- Теперь делаем adb shell avbctl disable-verification
- Если вы вдруг остались в shell то введите exit
- Перезагружаем эмулятор adb reboot и ждем
- Снова делаем adb root
- И вот теперь можно делать adb remount
Ура! Теперь мы можем записывать файлы в системную папку нашего эмулятора. Можем пушнуть наш отредактированный build.prop файл: adb push build.prop system/ . Сделаем adb reboot и убеждаемся что ничего не поменялось… Имя модели не изменилось.
Редактируем правильный build.prop

Вернемся к началу и заметим, что значения ro.product.product.name и ro.product.product.model не соответствует тому, что отображается в настройках устройства. Изучив структуру системных папок я заметил, что существует несколько файлов build.prop, которые располагаются в папках: system, system_ext, vendor и product. Эмпирическим методом я скачивал, редактировал и пушил обратно каждый из этих файлов. В конце концов ключевым оказался файл в папке product. Отредактировав его я наконец-то смог изменить название модели эмулятора устройства!

Подводим итоги
Наконец-то я смогу запустить приложение и воспроизвести баг. Подумал я…

Теперь я уперся в то, что запускаю приложение якобы с рутованого девайса (ну да есть такой грешок). И дело даже не в команде adb root , ведь команда adb unroot не помогла. Что ж, опускать руки уже поздно, придется что-то придумать.
О том, как я обходил проверку на рутованность устройства я расскажу в следующей своей статье. Немного реверс инжиниринга и даже такая популярная библиотека как RootBeer не проблема.
Данной статьей я стремился собрать как можно больше проблем по этому вопросу и изложить все в форме step-by-step. Спасибо за ваше внимание и очень надеюсь, что статья оказалась полезной!
- эмулятор android
- android studio
- android
- реверс-инжиниринг
- мобильная разработка
- мобильные приложения
- командная строка
- терминал
- flutter
- тестирование
- Разработка мобильных приложений
- Разработка под Android
- Реверс-инжиниринг
- Тестирование мобильных приложений
- Flutter
Build 2018: Приложение Your Phone позволит дублировать изображение со смартфона на экране компьютера с Windows 10
https://itc.ua/wp-content/uploads/2022/04/ad81c83e9fbf757ce8a90d0eb41dee5b-96×96.jpeg *** https://itc.ua/wp-content/uploads/2022/04/ad81c83e9fbf757ce8a90d0eb41dee5b-96×96.jpeg *** https://itc.ua/wp-content/uploads/2022/04/ad81c83e9fbf757ce8a90d0eb41dee5b-96×96.jpeg
В рамках проведения конференции для разработчиков Build 2018 корпорация Microsoft представила новое приложение для операционной системы Windows 10, получившее название Your Phone. Оно позволяет дублировать на экране компьютера то изображение, которое демонстрирует смартфон пользователя. Таким образом, пользователи на ПК с Windows 10 получат доступ к сообщениям, фотографиям и уведомлениям со смартфонов.
Віддамо футболку Збірної України з футболу з підписами гравців за донат від 200 грн на ЗСУ. У описі до донату обов’язково вказуй номер мобільного, щоб ми вручили приз! Кожні додаткові 200 грн у донаті +1 шанс на виграш!
Перечень доступных функций будет отличаться для платформ iOS и Android. Microsoft может полностью дублировать интерфейс Android-смартфона на компьютер, работающий под управлением Windows 10. Так что для выполнения ряда базовых задач пользователю не придётся брать в руки смартфон во время работы за ПК.
Приложение Your Phone станет доступным для тестирования участникам программы Windows Insiders уже на этой неделе. На основании полученной обратной связи в приложение будут вноситься доработки, а затем оно будет внедрено в операционную систему. Как ожидается, оно станет общедоступным вместе с выходом следующего крупного обновления для Windows 10, фигурирующего под кодовым названием Redstone 5. Его релиз ожидается осенью этого года.