Deskripsi konflik
mPaaS menggunakan wire/okio untuk konektivitas jaringan Remote Procedure Call (RPC). Pustaka okhttp juga mereferensikan okio. Konflik wire/okio dapat terjadi jika Anda menggunakan okhttp dan mPaaS secara bersamaan.
Solusi
Baseline 10.1.68
Hapus dependensi wire/okio dari mPaaS, lalu lakukan pengujian regresi pada fitur Mobile Gateway untuk memastikan fungsinya berjalan dengan benar. Prosedurnya sebagai berikut:
Konfirmasi versi wire/okio yang digunakan oleh mPaaS.
'com.squareup.okio:okio:1.7.0@jar' 'com.squareup.wire:wire-lite-runtime:1.5.3.4@jar'Dapatkan informasi
group:artifactuntuk SDK pihak ketiga mPaaS.'com.alipay.android.phone.thirdparty:wire-build'Hapus pustaka mPaaS.
Jika Anda mengintegrasikan mPaaS menggunakan metode AAR native, Gradle secara otomatis menyelesaikan dependensi ke versi yang lebih tinggi, sehingga tidak diperlukan penghapusan manual. Versi yang disediakan oleh mPaaS umumnya lebih stabil dan aman. Disarankan untuk menggunakan versi mPaaS tersebut. Jika terjadi ketidakkonsistenan versi, uji fitur mPaaS sebelum merilis guna memastikan stabilitas.
Jika Anda mengintegrasikan mPaaS menggunakan metode berbasis komponen (Portal & Bundle), lakukan langkah berikut:
mpaascomponents { excludeDependencies = [ "com.alipay.android.phone.thirdparty:wire-build" ] }
Tambahkan kembali wire atau okio ke proyek Anda menggunakan versi publik dari pustaka tersebut. Langkah ini tidak diperlukan untuk metode integrasi AAR native karena mPaaS telah menyertakan dependensi wire dan okio dalam pustaka
com.alipay.android.phone.thirdparty:wire-build. Tambahkan kembali secara selektif sesuai kebutuhan.Jika hanya terjadi konflik okio tanpa konflik wire, tambahkan wire.
implementation 'com.squareup.wire:wire-lite-runtime:1.5.3.4@jar'Jika hanya terjadi konflik wire tanpa konflik okio, tambahkan okio.
'com.squareup.okio:okio:1.7.0@jar'
Baseline 10.2.3
Hapus sepenuhnya dependensi versi mPaaS dan gunakan versi yang dibutuhkan oleh aplikasi Anda. Untuk mengatasi konflik wire/okio, ikuti langkah-langkah berikut:
Hapus wire dari mPaaS karena mPaaS tidak memiliki dependensi wajib terhadap pustaka wire.
Untuk proyek AAR native, lakukan langkah berikut:
configurations { all*.exclude group: 'com.alipay.android.phone.thirdparty', module: 'wire-build' }Untuk proyek berbasis komponen (Portal & Bundle), lakukan langkah berikut:
mpaascomponents { excludeDependencies = [ "com.alipay.android.phone.thirdparty:wire-build" ] }
Ubah semua kelas protobuf RPC di aplikasi Anda yang sebelumnya mewarisi dari
com.squareup.wire.Messageagar mewarisi daricom.mpaas.thirdparty.squareup.wire.Message.Lakukan pengujian regresi pada fitur-fitur berikut: