Поделиться через


Подготовка приложений Android к политикам защиты приложений с помощью Intune App Wrapping Tool

Используйте Microsoft Intune App Wrapping Tool для Android, чтобы изменить поведение собственных приложений Android, ограничив возможности приложения без изменения кода самого приложения.

Это средство — это приложение командной строки Windows, которое выполняется в PowerShell и создает оболочку для приложения Android. После упаковки приложения можно изменить его функциональность, настроив политики управления мобильными приложениями в Intune.

Перед запуском средства ознакомьтесь с рекомендациями по безопасности для запуска App Wrapping Tool. Чтобы скачать средство, перейдите в Microsoft Intune App Wrapping Tool для Android на сайте GitHub.

Примечание.

Если у вас возникли проблемы с использованием Intune App Wrapping Tool с приложениями, отправьте запрос на помощь на сайте GitHub.

Выполните необходимые условия для использования App Wrapping Tool

  • Приложение должно использовать актуальные библиотеки

  • Приложение должно быть совместимо с требованиями Google Play

  • Если приложение является сложным, оно должно интегрироваться с пакетом SDK для приложений Intune для Android.

  • Необходимо запустить App Wrapping Tool на компьютере с Windows под управлением Windows 10 или более поздней версии.

  • Входное приложение должно быть допустимым пакетом приложения Android с расширением файла .apk и:

    • Его невозможно зашифровать.
    • Он не должен быть ранее упакован Intune App Wrapping Tool.
    • Он должен быть написан для Android 9.0 или более поздней версии.

    Примечание.

    Если входное приложение представляет собой пакет приложений Android (.aab), перед использованием Intune App Wrapping Tool его необходимо преобразовать в APK. Дополнительные сведения см. в разделе Преобразование пакета приложений Android (AAB) в APK. По состоянию на август 2021 г . новые частные приложения по-прежнему могут публиковаться в Google Play Store в виде APK.

  • Приложение должно быть разработано компанией или для вашей компании. Это средство нельзя использовать в приложениях, доступных в Магазине Google Play. Сюда входит скачивание или получение приложения из Google Play Store.

  • Чтобы запустить App Wrapping Tool, необходимо установить последнюю версию среды выполнения Java, а затем убедиться, что переменная пути Java имеет значение C:\ProgramData\Oracle\Java\javapath в переменных среды Windows. Дополнительные сведения см. в документации по Java.

    Примечание.

    В некоторых случаях 32-разрядная версия Java может привести к проблемам с памятью. Рекомендуется установить 64-разрядную версию.

  • Android требует подписи всех пакетов приложений (.apk). Сведения о повторном использовании существующих сертификатов и общих рекомендациях по сертификатам подписи см. в статье Повторное использованием сертификатов подписи и упаковки приложений. После упаковки файла .apk с помощью Intune App Wrapping Tool рекомендуется использовать предоставленный Google инструмент Apksigner. Это гарантирует, что после того, как ваше приложение перейдет на устройства конечных пользователей, его можно будет запустить должным образом по стандартам Android.

  • (Необязательно) Иногда приложение может достичь ограничения размера исполняемого файла Dalvik (DEX) из-за Intune классов пакета SDK MAM, добавляемых во время упаковки. Файлы DEX являются частью компиляции приложения Android. Intune App Wrapping Tool автоматически обрабатывает переполнение файлов DEX во время упаковки для приложений с минимальным уровнем API 21 или выше (в версии 1.0.2501.1). Для приложений с минимальным уровнем < API 21 рекомендуется увеличить минимальный уровень API с помощью флага оболочки -UseMinAPILevelForNativeMultiDex . Для клиентов, неспособных увеличить минимальный уровень API приложения, доступны следующие обходные решения DEX overflow. В некоторых организациях для этого может потребоваться работа с тем, кто компилирует приложение (например, с командой сборки приложения):

    • Используйте ProGuard, чтобы исключить неиспользуемые ссылки на классы из основного файла DEX приложения.
    • Для клиентов, использующих подключаемый модуль Android Gradle версии 3.1.0 или более поздней версии, отключите dexer D8.

Как часто следует перезаписывать приложение Android с помощью Intune App Wrapping Tool?

Ниже приведены main сценарии, в которых потребуется перезапись приложений.

  • Само приложение выпустило новую версию. Предыдущая версия приложения была упакована и отправлена в центр администрирования Microsoft Intune.

  • Intune App Wrapping Tool для Android выпустила новую версию, которая включает исправления ключевых ошибок или новые функции политики защиты приложений Intune. Это происходит каждые 6–8 недель в репозитории GitHub для Microsoft Intune App Wrapping Tool для Android.

Ниже приведены некоторые рекомендации по перезаписи.

Установка App Wrapping Tool

  1. Из репозитория GitHub скачайте файл установки InstallAWT.exe для Intune App Wrapping Tool для Android на компьютер с Windows. Откройте файл установки.

  2. Примите лицензионное соглашение, а затем завершите установку.

Обратите внимание на папку, в которую установлено средство. Расположение по умолчанию: C:\Program Files (x86)\Microsoft Intune Управление мобильными приложениями\Android\App Wrapping Tool.

Запуск App Wrapping Tool

Важно!

Intune регулярно выпускает обновления для Intune App Wrapping Tool. Регулярно проверка обновления Intune App Wrapping Tool для Android и включить их в цикл выпуска программного обеспечения, чтобы ваши приложения поддерживали последние параметры политики защиты приложений.

  1. На компьютере с Windows, на котором установлена App Wrapping Tool, откройте окно PowerShell.

  2. Из папки, в которой установлено средство, импортируйте App Wrapping Tool модуль PowerShell:

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. Запустите средство с помощью команды invoke-AppWrappingTool , которая имеет следующий синтаксис использования:

    Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
    

    В следующей таблице описаны свойства команды invoke-AppWrappingTool :

Property Сведения
-InputPath<Строка> Путь к исходному приложению Android (.apk).
-OutputPath<Строка> Путь к выходному приложению Android. Если это тот же путь к каталогу, что и InputPath, упаковка завершится ошибкой.
<Общие параметры> (Необязательно) Команда поддерживает общие параметры PowerShell, такие как подробные параметры и отладка.
  • Список распространенных параметров см. в Центре сценариев Майкрософт.

  • Чтобы просмотреть подробные сведения об использовании средства, введите команду:

    Help Invoke-AppWrappingTool
    

Пример:

Импортируйте модуль PowerShell.

Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"

Запустите App Wrapping Tool в HelloWorld.apk собственного приложения.

invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose

Упаковаемое приложение и файл журнала создаются и сохраняются в указанном пути вывода.

Повторное использовать сертификаты подписи и оболочку приложений

Для установки на устройствах Android все приложения должны быть подписаны действительным сертификатом.

Упакованные приложения можно подписывать после упаковки с помощью существующих средств подписывания (все сведения для подписывания в приложении перед упаковкой удаляются). Если это возможно, сведения о подписи, которые уже использовались в процессе сборки, должны использоваться во время упаковки. В некоторых организациях для этого может потребоваться работа с тем, кто владеет информацией о хранилище ключей (например, с командой по сборке приложений).

Если предыдущий сертификат подписи не удается использовать или приложение не было развернуто ранее, вы можете создать новый сертификат подписи, следуя инструкциям в руководстве разработчика для Android.

Если приложение было развернуто ранее с другим сертификатом подписи, приложение не может быть отправлено в Intune после обновления. Сценарии обновления приложений будут нарушены, если ваше приложение подписано с помощью сертификата, отличного от того, который создается приложением. Таким образом, все новые сертификаты подписи должны поддерживаться для обновлений приложений.

Вопросы безопасности при запуске App Wrapping Tool

Чтобы предотвратить потенциальный подделывание, раскрытие информации и атаки на повышение привилегий, выполните следующие действия.

  • Убедитесь, что входное бизнес-приложение (LOB) и выходное приложение находятся на том же компьютере Windows, где выполняется App Wrapping Tool.

  • Импортируйте выходное приложение в Intune на том же компьютере, где запущено средство. Дополнительные сведения о keytool Java см. в разделе Keytool .

  • Если выходное приложение и средство находятся по пути универсального соглашения об именовании (UNC) и вы не запускаете средство и входные файлы на одном компьютере, настройте среду для обеспечения безопасности с помощью протокола IPsec или протокола SMB.

  • Убедитесь, что приложение поступает из надежного источника.

  • Защитите выходной каталог с упакованным приложением. Рассмотрите возможность использования каталога уровня пользователя для выходных данных.

Преобразование пакета приложений Android (AAB) в APK

В настоящее время Intune App Wrapping Tool поддерживает только входные данные APK. Пакеты приложений Android сначала должны быть преобразованы в APK для использования с инструментом.

Пакет приложений Android можно преобразовать в APK с помощью программы командной строки Google . bundletool Последнюю версию bundle-tool можно скачать из репозитория GitHub bundletool от Google.

bundletoolМожно использовать для создания одного универсального пакета APK для использования с Intune App Wrapping Tool с помощью следующей команды:

bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks

Выходной .apks файл представляет собой ZIP-архив, содержащий один универсальный APK-файл. Распакуйте архив и используйте файл APK в качестве входных данных для Intune App Wrapping Tool.

См. также