Klien iOS
Kode kesalahan Hotpatch
Tabel berikut menunjukkan kode kesalahan dan artinya.
Kode kesalahan | Deskripsi |
300 | Kesalahan tidak dikenal |
301 | File patch lokal kosong. Harap periksa apakah file patch berhasil diunduh, atau apakah jalur file benar selama pengujian lokal. |
302 | Kesalahan penguraian file |
303 | File patch lokal kosong. Harap periksa apakah file patch berhasil diunduh, atau apakah jalur file benar selama pengujian lokal. |
304 | Dekripsi file patch gagal. Harap periksa apakah gambar verifikasi tanda tangan Wireless Security Guard |
305 | Dekompresi file patch gagal. Silakan coba lagi. |
306 | Verifikasi checksum MD5 file patch gagal. Harap konfirmasi apakah file patch yang dirilis dienkripsi dan dalam format |
Mengapa patch tidak berlaku saat saya menguji file .js yang dikonversi dari OC secara lokal?
Periksa pesan kesalahan yang dikembalikan oleh metode yang dipanggil seperti yang ditunjukkan dalam kode berikut. Jika nilainya bukan nil, lakukan pemecahan masalah sesuai dengan kode kesalahan pada bagian sebelumnya.
NSString *jsFile = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"js"];
NSError *errorJS = [MPDynamicInterface runWithResultDynamicLocalFile:jsFile];Jika Anda tidak menemukan kesalahan pada langkah sebelumnya, periksa apakah sintaks file .js benar. Anda dapat merujuk ke sintaks konversi OC-to-JS.
Mengapa patch tidak berlaku saat saya menguji file .zip terenkripsi secara lokal?
Periksa apakah informasi enkripsi asimetris RSA dalam proyek benar. Anda dapat memeriksanya dengan melihat apakah nilai ret pada gambar berikut adalah 0.

Pastikan gambar Wireless Security Guard dalam proyek benar dan cocok dengan
meta.configdalam proyek. Jika Anda tidak yakin, Anda dapat mencoba menghasilkan gambar Wireless Security Guard lagi dan memperbarui file.ziphotpatch.Pastikan apa yang Anda uji adalah file
.zipterenkripsi.
Periksa pesan kesalahan yang dikembalikan oleh metode yang dipanggil seperti yang ditunjukkan dalam kode berikut. Jika nilainya bukan nil, lakukan pemecahan masalah sesuai dengan kode kesalahan pada bagian sebelumnya.
NSString *jsZip = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"zip"]; NSError *error = [MPDynamicInterface runWithResultDynamicLocalSecFile:jsZip];
Mengapa patch tidak berlaku di klien setelah platform rilis mengirimkan file .js terenkripsi?
Periksa apakah file
.zipmemperbaiki masalah secara lokal setelah file.jsasli dienkripsi.Saat membuat tugas patch baru di konsol, pastikan paket patch yang diunggah ke platform rilis berisi file
.jsterenkripsi.
Versi target harus sama dengan nilai properti
Product Versionyang ditampilkan di fileinfo.plistdalam proyek.
Di konsol Xcode, periksa apakah hasil yang dikembalikan dari gateway untuk
alipay.client.getUnionResourceadalah 1000 untuk memastikan permintaan jaringan berhasil.
Jika hasil yang dikembalikan dari gateway bukan 1000, lanjutkan pemecahan masalah berdasarkan Gerbang Seluler > Pemrograman Klien > FAQ.Setelah permintaan jaringan berhasil, periksa apakah paket patch telah dikirim ke klien di jalur sandbox lokal. Jika kedua file
.zipdan.sigtelah dibuat di direktori, itu berarti klien telah menerima skrip yang dikirim dari platform rilis. Patch akan berlaku setelah Anda membunuh proses dan memulai ulang aplikasi.
Klien Android
Setelah hotpatch diterapkan, panggilan terkait RPC menyebabkan crash terkait Apache HTTP.
Gunakan metode yang diberikan di situs resmi Android untuk menambahkan klien Apache HTTP. Jangan tambahkan klien HTTP dengan mengimpor paket jar atau menggunakan implementasi/kompilasi Gradle. Jika tidak, ini dapat menyebabkan kebingungan ClassLoader.
Daftar putih hotpatch untuk kelas internal
Untuk mereferensikan kelas internal, Anda harus menggunakan nama lengkapnya. Jika Anda harus memperbaiki kelas internal, cara termudah adalah mendekompilasi kelas menjadi smali, dan nama file smali adalah nama kelas dari kelas internal.
Permintaan RPC
Jika terjadi kesalahan saat mengirim permintaan RPC, lihat Kode Hasil Penjaga Keamanan untuk pemecahan masalah.