Partilhar via


Preparar aplicações Android para políticas de proteção de aplicações com o Intune App Wrapping Tool

Utilize o Microsoft Intune App Wrapping Tool para Android para alterar o comportamento das suas aplicações Android internas ao restringir as funcionalidades da aplicação sem alterar o código da própria aplicação.

A ferramenta é uma aplicação de linha de comandos do Windows que é executada no PowerShell e cria um wrapper em torno da sua aplicação Android. Depois de encapsular a aplicação, pode alterar a funcionalidade da aplicação ao configurar políticas de gestão de aplicações móveis no Intune.

Antes de executar a ferramenta, reveja Considerações de segurança para executar o App Wrapping Tool. Para transferir a ferramenta, aceda ao Microsoft Intune App Wrapping Tool para Android no GitHub.

Observação

Se tiver problemas com a utilização do Intune App Wrapping Tool com as suas aplicações, submeta um pedido de assistência no GitHub.

Cumprir os pré-requisitos para utilizar o App Wrapping Tool

  • A sua aplicação tem de utilizar bibliotecas atualizadas

  • A sua aplicação tem de ser compatível com os requisitos do Google Play

  • Se a sua aplicação for complexa, tem de ser integrada com o SDK da Aplicação Intune para Android

  • Tem de executar o App Wrapping Tool num computador Windows com Windows 10 ou posterior.

  • A sua aplicação de entrada tem de ser um pacote de aplicações Android válido com a extensão de ficheiro .apk e:

    • Não pode ser encriptado.
    • Não deve ter sido moldado anteriormente pelo Intune App Wrapping Tool.
    • Tem de ser escrito para Android 9.0 ou posterior.

    Observação

    Se a sua aplicação de entrada for um Pacote de Aplicações android (.aab), terá de convertê-la num APK antes de utilizar o Intune App Wrapping Tool. Para obter detalhes, veja Converter o Pacote de Aplicações android (AAB) em APK. A partir de agosto de 2021, as novas aplicações privadas ainda podem ser publicadas na Google Play Store como APKs.

  • A aplicação tem de ser desenvolvida por ou para a sua empresa. Não pode utilizar esta ferramenta em aplicações que estão disponíveis na Google Play Store. Isto inclui transferir ou obter a aplicação a partir da Google Play Store.

  • Para executar o App Wrapping Tool, tem de instalar a versão mais recente do Ambiente de Runtime java e, em seguida, certificar-se de que a variável de caminho Java foi definida como C:\ProgramData\Oracle\Java\javapath nas variáveis de ambiente do Windows. Para obter mais ajuda, veja a documentação do Java.

    Observação

    Em alguns casos, a versão de 32 bits do Java pode resultar em problemas de memória. Recomendamos que instale a versão de 64 bits.

  • O Android requer que todos os pacotes de aplicações (.apk) sejam assinados. Para reutilizar certificados existentes e documentação de orientação geral sobre certificados de assinatura, veja Reutilizar certificados de assinatura e encapsular aplicações. Depois de encapsular o ficheiro .apk com o Intune App Wrapping Tool, a recomendação é utilizar a ferramenta Apksigner fornecida pela Google. Isto irá garantir que, assim que a sua aplicação chegar aos dispositivos do utilizador final, pode ser iniciada corretamente pelas normas do Android.

  • (Opcional) Por vezes, uma aplicação pode atingir o limite de tamanho Dolvik Executable (DEX) devido às classes de SDK de MAM Intune que são adicionadas durante o encapsulamento. Os ficheiros DEX fazem parte da compilação de uma aplicação Android. O Intune App Wrapping Tool processa automaticamente a capacidade excedida do ficheiro DEX durante o encapsulamento para aplicações com um nível de API mínimo de 21 ou superior (a partir de v. 1.0.2501.1). Para aplicações com um nível de API mínimo de < 21, a melhor prática seria aumentar o nível mínimo de API com o sinalizador do -UseMinAPILevelForNativeMultiDex wrapper. Para os clientes que não conseguem aumentar o nível mínimo de API da aplicação, estão disponíveis as seguintes soluções alternativas de capacidade excedida de DEX. Em determinadas organizações, isto pode exigir trabalhar com quem compila a aplicação (ou seja, a equipa de compilação de aplicações):

    • Utilize o ProGuard para eliminar referências de classe não utilizadas do ficheiro DEX principal da aplicação.
    • Para os clientes que utilizam v3.1.0 ou superior do plug-in do Android Gradle, desative o dexer D8.

Com que frequência devo voltar a escrever a minha aplicação Android com o Intune App Wrapping Tool?

Os main cenários nos quais teria de voltar a escrever as suas aplicações são os seguintes:

  • A própria aplicação lançou uma nova versão. A versão anterior da aplicação foi encapsulada e carregada para o centro de administração do Microsoft Intune.

  • O Intune App Wrapping Tool para Android lançou uma nova versão que permite correções de erros importantes ou novas funcionalidades específicas Intune política de proteção de aplicações. Isto acontece a cada 6 a 8 semanas através do repositório do GitHub para a Microsoft Intune App Wrapping Tool para Android.

Algumas das melhores práticas para a reescrição incluem:

Instalar o App Wrapping Tool

  1. No repositório do GitHub, transfira o ficheiro de instalação InstallAWT.exe do Intune App Wrapping Tool para Android para um computador Windows. Abra o ficheiro de instalação.

  2. Aceite o contrato de licença e, em seguida, conclua a instalação.

Tenha em atenção a pasta na qual instalou a ferramenta. A localização predefinida é: C:\Programas (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.

Executar o App Wrapping Tool

Importante

Intune disponibiliza regularmente atualizações para o Intune App Wrapping Tool. Utilize regularmente marcar o Intune App Wrapping Tool para Android para atualizações e incorpore no seu ciclo de lançamento de desenvolvimento de software para garantir que as suas aplicações suportam as definições mais recentes da Política de Proteção de Aplicações.

  1. No computador Windows onde instalou o App Wrapping Tool, abra uma janela do PowerShell.

  2. Na pasta onde instalou a ferramenta, importe o módulo App Wrapping Tool PowerShell:

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. Execute a ferramenta com o comando invoke-AppWrappingTool , que tem a seguinte sintaxe de utilização:

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

    A tabela seguinte detalha as propriedades do comando invoke-AppWrappingTool :

Propriedade Informações
-InputPath<Cadeia> Caminho da aplicação Android de origem (.apk).
-OutputPath<Cadeia> Caminho para a aplicação Android de saída. Se este for o mesmo caminho de diretório que o InputPath, a embalagem falhará.
<CommonParameters> (Opcional) O comando suporta parâmetros comuns do PowerShell, como verboso e depuração.
  • Para obter uma lista de parâmetros comuns, veja o Centro de Scripts da Microsoft.

  • Para ver informações de utilização detalhadas da ferramenta, introduza o comando:

    Help Invoke-AppWrappingTool
    

Exemplo:

Importe o módulo do PowerShell.

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

Execute o App Wrapping Tool na aplicação nativa HelloWorld.apk.

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

A aplicação encapsulada e um ficheiro de registo são gerados e guardados no caminho de saída que especificou.

Reutilizar certificados de assinatura e encapsular aplicações

O Android requer que todas as aplicações sejam assinadas por um certificado válido para serem instaladas em dispositivos Android.

As aplicações encapsuladas podem ser assinadas depois de encapsular com as ferramentas de assinatura existentes (todas as informações de assinatura na aplicação antes de serem encapsuladas são eliminadas). Se possível, as informações de assinatura que já foram utilizadas durante o processo de compilação devem ser utilizadas durante a moldagem. Em determinadas organizações, isto pode exigir que trabalhe com quem detém as informações do arquivo de chaves (ou seja, a equipa de compilação de aplicações).

Se não for possível utilizar o certificado de assinatura anterior ou se a aplicação não tiver sido implementada anteriormente, poderá criar um novo certificado de assinatura ao seguir as instruções no Guia para Programadores do Android.

Se a aplicação tiver sido implementada anteriormente com um certificado de assinatura diferente, a aplicação não pode ser carregada para Intune após a atualização. Os cenários de atualização de aplicações serão interrompidos se a sua aplicação for assinada com um certificado diferente do certificado com o qual a aplicação foi criada. Como tal, quaisquer novos certificados de assinatura devem ser mantidos para atualizações de aplicações.

Considerações de segurança para executar o App Wrapping Tool

Para impedir potenciais ataques de spoofing, divulgação de informações e elevação de privilégios:

  • Certifique-se de que a aplicação de linha de negócio (LOB) de entrada e a aplicação de saída estão no mesmo computador Windows onde o App Wrapping Tool está em execução.

  • Importe a aplicação de saída para Intune no mesmo computador onde a ferramenta está em execução. Veja keytool para obter mais informações sobre o keytool java.

  • Se a aplicação de saída e a ferramenta estiverem num caminho UNC (Universal Naming Convention) e não estiver a executar a ferramenta e os ficheiros de entrada no mesmo computador, configure o ambiente para ser seguro com a assinatura IPsec (Internet Protocol Security) ou Server Message Block (SMB).

  • Certifique-se de que a aplicação provém de uma origem fidedigna.

  • Proteja o diretório de saída que tem a aplicação encapsulada. Considere utilizar um diretório ao nível do utilizador para a saída.

Converter o Pacote de Aplicações Android (AAB) em APK

Atualmente, o Intune App Wrapping Tool só suporta entradas APK. Primeiro, os Pacotes de Aplicações do Android têm de ser convertidos num APK para utilização com a ferramenta.

Um Pacote de Aplicações Android pode ser convertido num APK com a ferramenta de linha de comandos da Google, bundletool. A versão mais recente do bundle-tool pode ser transferida a partir do repositório bundletool do GitHub da Google.

bundletoolpode ser utilizado para produzir um único APK universal para utilização com o Intune App Wrapping Tool com o seguinte comando:

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

O .apks ficheiro de saída é um arquivo ZIP que contém um único ficheiro APK universal. Deszipe o arquivo e utilize esse ficheiro APK como entrada para o Intune App Wrapping Tool.

Confira também