سؤال

لدي كمية كبيرة من رمز Java (وظائف الحساب فقط، لا واجهة المستخدم) التي أريد إعادة استخدامها ككتبة ثابتة في نظام التشغيل iOS. كان نهجي استخدام Robovm واتبع الطريقة غير الرسمية لإنشاء مكتبة ثابتة موضحة في المقالتين في منتدى Robovm : طريقة أساسية واحدة و 2 نسخة مائدة

تحاول اتباع الخطوات بالضبط كما هو موضح، لقد علقت لسوء الحظ بعد إنشاء المكتبة المشتركة مع البرنامج النصي، وربط المكتبة (.A) في Xcode وبناء المشروع بنجاح.

أثناء وقت التشغيل، أرى أن رمز جسر C ++ الخاص بي يتم استدعاء ولكن يتصل Jni في المكتبة بفشل Bad_Access. على سبيل المثال تعطل السطر التالي:

giveacodicetagpre.

في هذه الطريقة:

giveacodicetagpre.

}

نفس الشيء صحيح إذا حاولت استخدام أساليب RVMXX مباشرة بدلا من JNI وحاول الوصول إلى شيء ما في فئات "Java" الخاصة بي. يبدو أن RVMENV غير مهيأ بالكامل. (قمت بفحص أخطاء اسم الحزمة أو الأخطاء المطبعية).

سيكون من الرائع إذا نجح شخص ما بالفعل في إنشاء مكتبة ثابتة مشتركة من مشروع روبوفم ويمكن أن تشارك الخبرة هنا أو توجيهني في الاتجاه الصحيح لحل المشكلة.

هل كانت مفيدة؟

المحلول

كما ذكرت، ربما كنت قد انتهيت من تهيئة Robovm.

ستحتاج إلى إنشاء طريقة، ويقول InitRobovm ()، إلى الطريقة الرئيسية مرآة إلى حد ما BC.C.سيتم استدعاء هذا الرمز الخاص بك عندما تريد تهيئة روبوفم.ستحتاج إلى اجتياز مسار التطبيق في، والتي يمكنك تشغيلها عند اختبارها.

سيحتاج

InitRobovm () إلى بعض التعديلات، وهي أنه لا ينبغي أن يطلق على الطريقة الرئيسية ل Java App الخاصة بك، حسنا، على الأقل، هذا ما يجب ألا تفعله مكتبات التتصاص الجيدة من IMO.يجب عدم الاتصال أيضا RVMShutdown.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top