Descrição do conflito
O mPaaS utiliza wire/okio para conectividade de rede via Remote Procedure Call (RPC). A biblioteca okhttp também faz referência ao okio. Se você usar okhttp e mPaaS juntos, pode ocorrer um conflito de wire/okio.
Solução
Baseline 10.1.68
Remova a dependência wire/okio do mPaaS. Em seguida, execute testes de regressão no recurso Mobile Gateway para garantir seu funcionamento correto. O procedimento é o seguinte:
-
Confirme as versões de wire/okio utilizadas pelo mPaaS.
'com.squareup.okio:okio:1.7.0@jar' 'com.squareup.wire:wire-lite-runtime:1.5.3.4@jar' -
Obtenha as informações de
group:artifactdo SDK de terceiros do mPaaS.'com.alipay.android.phone.thirdparty:wire-build' -
Remova a biblioteca do mPaaS.
Caso integre o mPaaS pelo método nativo AAR, o Gradle resolve automaticamente as dependências para a versão mais alta, eliminando a necessidade de remoção manual. A versão fornecida pelo mPaaS geralmente oferece maior estabilidade e segurança, sendo recomendada para uso. Se houver inconsistência entre versões, teste os recursos do mPaaS antes da publicação para assegurar a estabilidade.
-
Para integração do mPaaS baseada em componentes (Portal & Bundle), proceda da seguinte forma:
mpaascomponents { excludeDependencies = [ "com.alipay.android.phone.thirdparty:wire-build" ] }
-
Adicione novamente o wire ou o okio ao seu projeto, utilizando as versões públicas dessas bibliotecas. Esta etapa não se aplica ao método de integração nativa AAR. Como o mPaaS inclui ambas as dependências na biblioteca
com.alipay.android.phone.thirdparty:wire-build, adicione-as de volta seletivamente conforme a necessidade.-
Quando houver apenas conflito de okio, sem conflito de wire, adicione o wire.
implementation 'com.squareup.wire:wire-lite-runtime:1.5.3.4@jar' -
Se existir apenas conflito de wire, sem conflito de okio, adicione o okio.
'com.squareup.okio:okio:1.7.0@jar'
-
Baseline 10.2.3
Elimine completamente as dependências da versão do mPaaS e utilize as versões exigidas pela sua aplicação. Para solucionar conflitos de wire/okio, siga estas etapas:
-
Remova o wire do mPaaS. O mPaaS não possui uma dependência rígida da biblioteca wire.
-
Em projetos com AAR nativo, faça o seguinte:
configurations { all*.exclude group: 'com.alipay.android.phone.thirdparty', module: 'wire-build' } -
Para projetos baseados em componentes (Portal & Bundle), proceda assim:
mpaascomponents { excludeDependencies = [ "com.alipay.android.phone.thirdparty:wire-build" ] }
-
-
Altere todas as classes protobuf RPC da sua aplicação que herdam de
com.squareup.wire.Messagepara herdar decom.mpaas.thirdparty.squareup.wire.Message.Os seguintes recursos de componentes exigem testes de regressão: