Todos os produtos
Search
Central de documentação

Mobile Platform as a Service:Compatibilidade do mPaaS com targetSdkVersion 28

Última atualização: Jul 01, 2026

A partir da versão 10.1.68.21, o mPaaS oferece suporte ao targetSdkVersion 28. Atualize o SDK e siga este guia para adaptar seu código e verifique os componentes afetados.

As baselines anteriores do mPaaS oferecem suporte ao targetSdkVersion até a versão 26. A partir da versão 10.1.68.21, o mPaaS passa a oferecer suporte ao targetSdkVersion 28. Para atualizar, use o plugin do mPaaS para atualize o SDK para a versão 10.1.68.21 ou posterior. Em seguida, siga as orientações deste guia para adaptar o código e executar testes de regressão.

Adaptação para targetSdkVersion 28

Modifique o targetSdkVersion

Método de integração AAR

No arquivo build.gradle do módulo principal do projeto, altere a propriedade targetSdkVersion para 28.

Método de integração Portal & Bundle

  • No arquivo build.gradle do módulo principal do projeto Portal, altere a propriedade targetSdkVersion para 28.

  • Não é necessário alterar o targetSdkVersion no projeto Bundle, mas ele não deve ser superior ao targetSdkVersion do projeto Portal.

Configurações gerais

Método de integração AAR

No arquivo AndroidManifest.xml do projeto, adicione o seguinte código sob o nó application:

<uses-library android:name="org.apache.http.legacy" android:required="false"/>

Método de integração Portal & Bundle

Faça as seguintes alterações no arquivo AndroidManifest.xml do projeto Portal:

  • Adicione o código abaixo sob o nó application:

    <uses-library android:name="org.apache.http.legacy" android:required="false"/>
  • Remova a seguinte propriedade da LauncherActivity. O SDK agora defina essa propriedade programaticamente.

    android:screenOrientation="portrait"

Outras configurações

Permitir requisições http

O Android 9.0 e versões posteriores permitem apenas requisições HTTPS por padrão. Definir o targetSdkVersion como 28 impõe essa restrição em dispositivos com Android 9.0 ou posterior. Para permitir requisições http, incluindo aquelas em miniapps, configure o networkSecurityConfig.

  • No diretório res/xml do seu projeto, crie um arquivo network_security_config.xml com o conteúdo a seguir. Caso utilize o método de integração Portal & Bundle, crie esse arquivo no projeto Portal.

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
      <base-config cleartextTrafficPermitted="true">
          <trust-anchors>
              <certificates src="system" />
          </trust-anchors>
      </base-config>
    </network-security-config>
  • No arquivo AndroidManifest.xml do seu projeto, adicione a propriedade abaixo ao nó application. Se estiver usando a integração Portal & Bundle, modifique o arquivo no projeto Portal.

    android:networkSecurityConfig="@xml/network_security_config"

Para mais informações, consulte a documentação oficial do Google.

Falha ao definir orientação de tela para uma Activity com fundo transparente

O Android 8.0 apresenta um bug de sistema: o aplicativo falha se o seu targetSdkVersion for superior a 26 e ele abrir uma Activity que possua simultaneamente fundo transparente e orientação de tela fixa. Essa falha ocorre quando as duas condições abaixo são atendidas:

  • O atributo windowIsTranslucent ou windowIsFloating no tema da Activity está definido como true.

  • O atributo screenOrientation está definido no AndroidManifest.xml ou o método setRequestedOrientation é chamado.

Verifique todas as Activities quanto a essas condições. Alguns temas comuns do sistema também se enquadram nesses critérios, como:

@android:style/Theme.Translucent.NoTitleBar
@android:style/Theme.Dialog

Solução recomendada:

  1. Para a Activity cujo tema atende à condição, exclua o atributo screenOrientation no AndroidManifest.xml e chame o método setRequestedOrientation em seu lugar.

  2. Sobrescreva o método setRequestedOrientation na Activity correspondente ou na classe pai, utilizando try catch super.setRequestedOrientation() como regra base:

     @Override
     public void setRequestedOrientation(int requestedOrientation) {
         try {
             super.setRequestedOrientation(requestedOrientation);
         } catch (Exception ignore) {
    
         }
     }
  3. As classes do mPaaS BaseActivity, BaseFragmentActivity e BaseAppCompatActivtiy já sobrescrevem o método setRequestedOrientation com essa abordagem de try-catch.

  4. Essa solução alternativa evita a falha. No entanto, o bloqueio da orientação de tela ainda pode não funcionar em dispositivos com Android 8.0. Certifique-se de que sua Activity não cause exceções quando a tela for girada, como um reinício de ciclo de vida que resulte em variáveis de membro nulas.

Código-fonte do sistema Android 8.0 relacionado:

android 8.0 bug

Testes de regressão

Os testes de regressão devem incluir dispositivos com Android 9.0 ou posterior. Para a questão da falha em Activities transparentes, teste também em dispositivos com Android 8.0.

Caso utilize algum dos componentes listados abaixo, preste atenção especial aos recursos indicados durante os testes de regressão:

Componente

Itens de validação

Mobile Gateway

Scan

  • Valide se o escaneamento com a UI padrão é concluído com sucesso.

  • Teste a abertura do álbum de fotos do telefone, a captura de fotos e a pré-visualização usando a UI padrão.

  • Verifique o funcionamento do escaneamento com UI personalizada. Se você utiliza uma UI customizada, é necessário adaptar algumas novas interfaces.

Unified Storage

Share

Confirme se o compartilhamento para Sina Weibo e QQ ocorre sem erros.

Componente

Itens de validação

Mobile Gateway

Hotpatching

Valide se o hotpatching surte efeito.

Scan

  • Verifique se o escaneamento com a UI padrão é concluído com sucesso.

  • Teste a abertura do álbum de fotos do telefone, a captura de fotos e a pré-visualização usando a UI padrão.

  • Confira o funcionamento do escaneamento com UI personalizada. Caso utilize uma UI customizada, será preciso adaptar algumas novas interfaces.

Unified Storage

Share

Confirme se o compartilhamento para Sina Weibo e QQ ocorre sem erros.