استكشاف المشكلات الشائعة وإصلاحها في تطبيقات الأجهزة المحمولة المختلطة من 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
.