استكشاف المشكلات الشائعة وإصلاحها في تطبيقات الأجهزة المحمولة المختلطة من Oracle JET

عند نشر تطبيق الأجهزة المتنقلة المختلط الخاص بك باستخدام Oracle JET، يمكن أن تكون المشكلات الأكثر شيوعًا بسبب استثناءات وقت التشغيل والتكوين الخاطئ ومشكلات الشبكات.

المشكلة 1: فشل إنشاء ojet

عند العمل خلف جدار حماية تابع للشركة، قد تتلقى رسائل تفيد بفشل عملية الإنشاء بعد إصدار الأمر ojet build أو ojet0- serve.

إذا كنت خلف جدار حماية شركة، فتأكد من تكوين إعدادات الوكيل npm بشكل صحيح.

الإصدار 2: يتعذر تشغيل تطبيق الأجهزة المتنقلة المختلط في محاكي نظام تشغيل الأجهزة المتنقلة

يمكنك إنشاء تطبيق الهاتف المحمول الهجين بنجاح، ولكن اكتشف لاحقًا أنك غير قادر على اختباره في محاكي نظام تشغيل الهاتف المحمول.

على سبيل المثال، قد تظهر سجلات وحدة التحكم أن التطبيق معلق في حالة "قيد الانتظار" دائمة:

Running "serve" task
Running "customServe" task
Invoking cordova serve
Static file server running on: http://localhost:8090 (CTRL + C to shut down)Invoking cordova run
Starting watch
Running "watch" task
Waiting...

هذه المشكلة شائعة عند تنفيذ الأمر ojet serve قبل بدء المحاكي. على الرغم من أن ojet يحاول بدء المحاكي، إلا أن بعض الأوامر قد لا يتم تنفيذها أثناء بدء المحاكي. لتجنب هذه المشكلة:

  • ابدأ المحاكي دائمًا أولاً.

  • لا تحدد معلمة وجهة للأمر ojet serve. سيتم توزيع التطبيق على المحاكي الافتراضي/المفتوح.

  • بمجرد بدء المحاكي، نفذ الأمر ojet serve.

  • تأكد من تنفيذ ojet build قبل الأمر ojet serve.

المشكلة 3: التشغيل في مشكلة CORS أثناء تصحيح الأخطاء

في بعض الأحيان، لا يمكن لتطبيقك الاتصال بأي برامج وسيطة للأجهزة المحمولة، مثل Oracle Mobile Hub أو إجراء التصديق أثناء استخدام مصحح أخطاء مباشر للمحاكي.

لمنع حدوث ذلك، استخدم المعلمة ojet --no-livereload لتعطيل ميزة إعادة التحميل المباشر عند توزيع التطبيق:

ojet serve --platform=android   --no-livereload=true

المشكلة 4: LiveReload لا يعمل على جهاز فعلي

عدم القدرة على العمل على جهاز مع تمكين LiveReload هو مشكلة معروفة.

للتحايل على هذه المشكلة، قم بتطوير محتويات التطبيق داخل متصفح باستخدام علامة --browser:

ojet serve android --browser

ثم استخدم LiveReload في المحاكي. لاحظ أن هذه العملية أبطأ على المحاكي من الجهاز الفعلي:

ojet serve 

لاختبار استخدام جهاز فعلي، يجب تعطيل LiveReload:

ojet serve android --device --no-livereload

ملاحظة:

للاطلاع على قائمة بكل الخيارات المتاحة في الأمر ojet serve، أدخل ojet help serve.