Android: сборка отладки v/s

В Android, какая разница между сборкой отладки и производством? Также есть ли другие виды сборок?

Благодарю.

3 ответа

Ну, у трех маленьких свиней было 3 типа строений, но большинство из них не получилось так хорошо.

В любом случае, вы должны увидеть документы здесь. Когда вы создаете свое приложение в среде IDE, вы получаете ключ отладки, и это отличается от производственного ключа. Наличие отладочной сборки не позволяет вам вводить учетные данные каждый раз, но вы, очевидно, захотите получить это приглашение, когда будете готовы выпустить сборку.

Наверное, это то, о чем вы говорите, но если у вас есть что-то еще, подумайте, пожалуйста, уточните.


Я не уверен, что вы спрашиваете о приложении отладки/производства или отладке/структуре продукта. Поэтому я рассмотрю рамки.

Существует два разных типа сборки фреймворка android (весь образ системы) (например, производство) и userdebug.

Все производители стандартных устройств выпускают свое устройство с "пользовательской" сборкой. Userdebug предназначен для разработки и обычно создается только для внутреннего использования.

Получение root:

В сборке userdebug вы можете просто сделать "adb root", чтобы переключить оболочку adb в корневой режим. Кроме того, вы также можете выполнить "adb remount" для повторного подключения системного раздела к режиму записи для дальнейшего управления.

В пользовательской сборке вы можете получить root-доступ, установив специальное su-бинарное и соответствующее управляющее приложение (например, supersu). Таким образом, в оболочке adb вы можете использовать su, чтобы получить привилегированную оболочку. Это не так удобно, как сборка userdebug.

В AOSP вы можете выбрать тип сборки с помощью команды обеда. Например обезвреживание aosp_hammerhead-userdebug

против

Обед aosp_hammerhead-пользователь


Между двумя сборками нет разницы. Производственная сборка будет работать так же, как сборка отладки с некоторыми ограниченными исключениями. Ограниченные исключения относятся к функциям, зависящим от подписи, т.е. Они требуют, чтобы вы зарегистрировали либо отладочный, либо производственный ключ для правильной работы. Это будет включать большинство API, таких как GoogleMaps или Facebook, и все, что использует ваш ключ сборки, чтобы генерировать уникальный идентификатор (думаю, большинство продуктов OAuth2).

Ваш вопрос путается/неопределенен, потому что на самом деле нет разницы в двух сборках. Оба будут работать точно таким же кодом. Разница в том, кто может их запускать и как вы можете их запускать. Все приложения для Android подписаны, когда они создаются с помощью уникального ключа. Этот ключ идентифицирует создателя приложения и полезен в процессе производства, чтобы разработчик не отправлял вредоносные программы в Google Play Store (или, по крайней мере, если они знают, где их найти).

Сборка, созданная в режиме отладки, выполняется с помощью отладочного ключа, который локализуется на конкретном компьютере. Это означает, что если я создам приложение в режиме отладки для установки на свой телефон, а другой разработчик, сидящий рядом со мной, строит ту же самую базу кода для запуска на своем телефоне, наши два приложения будут подписаны с различными ключами отладки. Почему это имеет значение? Итак, вернемся к процессу регистрации API, упомянутому выше, если я создаю нашу регистрацию API Карт Google с помощью моего отладочного ключа (плохая идея), когда мой друг, сидящий рядом со мной, создает приложение в режиме отладки на своей машине, он встретится с ошибка. Проблема в том, что доступ к API Карт Google зависит от того, установлено ли приложение, зарегистрированное с помощью правильной клавиши. Поскольку наши два ключа отличаются друг от друга, его приложение не будет загружаться должным образом.

Режим выпуска/производства позволяет вам подписывать приложение - это универсальный ключ, не привязанный к конкретной машине. Это позволяет избежать проблемы, упомянутой выше. Используя один ключ для всех инсталляций, каждое приложение будет иметь доступ к тем же API, если вы зарегистрируетесь для них с помощью своего производственного ключа. Этот производственный ключ не является специфичным для машины. Вы можете отправить его своим друзьям (пожалуйста, не делайте этого), чтобы они могли подписывать приложения как вы.

Это в значительной степени. Вы можете больше узнать о создании и запуске приложений здесь. Если у вас есть более конкретный вопрос, уточните пожалуйста.

licensed under cc by-sa 3.0 with attribution.