سؤال

لدي لعبة تعمل حاليا تحت Windows و Mac OS X وأرغب في توفيرها تحت Linux. يجب أن يكون المنتذير سهل إلى حد ما لأنه لعبة تعتمد على Java ويستخدم مكتبات محمولة متوفرة على جميع المنصات الثلاثة.

الجزء الصعب والسبب في هذه المسألة هو التعبئة والتغليف بحيث يعمل على أكبر عدد ممكن من توزيعات Linux الحديثة. الهدف الأساسي سيكون أوبونتو 9.

WebStart ليست طريقة مقبولة، .tar.gz هو الملاذ الأخير. أفضل بفضل حزمة تم تعريف التبعيات المعرفة بشكل صحيح (مثل Java) وتثبيتها بسهولة.

أحتاج أيضا إلى أن أكون قادرا على إنشاء الحزمة ضمن بيئة Windows لأن بعض الأدوات في سلسلة Build الخاصة بي هي Windows فقط.

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

المحلول

ابدأ في البحث عن كيفية حقق مشروع مماثل هذا. واحد أن ينهار في الذهن هو freecol., ، لعبة جافا منصة الصليب. هم تحميل الصفحة لديه معلومات واضحة إلى حد ما عن تثبيته على عدد من المنصات. لديهم أيضا حزم متوفرة في مواقع مثل getdeb. لأوبونتو و البائع المتجول لمفتحة.

بشكل عام، إذا كنت ترغب في ضرب أكبر عدد ممكن من التوزيعات، فإن التنسيقات التي يجب أن تنظر فيها (بالترتيب الخام للأهمية):

  1. ubuntu .deb (قم أيضا بإنشاء مستودع إذا استطعت)
  2. OpenSuse .rpm أو .ypm (1 انقر فوق تثبيت)
  3. فيدورا .rpm.
  4. .tar.gz حزمة مسبقا

ثم بناء من خيار المصدر، أو أفضل جهد ثنائي المثبت. أخيرا، انظر إلى توزيعة شعبية أخرى مثل Debian و Mandriva و BSD

بمجرد وجود حزمة منصة محددة، قد ترغب في التفكير في الحصول عليها في هذا التوزيع. هذا سيجعل من السهل على المستخدمين العثور على والاستمتاع. يمكن العثور على معلومات حول عملية Ubuntu هنا:

(تحرير: قائمة أفضل، بفضل اقتراح Jonik.)

نصائح أخرى

إلقاء نظرة على تثبيت صفر (http:/0/0install.net/).

  • يمكن لأي شخص تثبيت البرامج

ليس عليك أن تكون المسؤول فقط لتثبيت معالج Word [المزيد

  • يمكن لأي شخص توزيع البرامج

لست بحاجة إلى أن ينعم بتوزيع (أو أي شخص آخر) جزءا من تثبيت صفر؛ النظام لا مركزية تماما [المزيد

  • التحديثات التلقائية

عند توفر التحديثات، سيقوم تثبيت Zero [المزيد

  • حماية

إذا قام مستخدم واحد بتنزيل برنامج ضار، فلا يتأثر المستخدمون الآخرون؛ يمكن للمستخدمين مشاركة التنزيلات دون الحاجة إلى الثقة في بعضهم البعض؛ لا يقوم التثبيت بتنفيذ أي من التعليمات البرمجية التي تم تنزيلها؛ يتم التحقق دائما التوقيعات الرقمية قبل برامج جديدة هي ص

يمكنك استخدام نظام Deb ل Ubuntu. سوف يساعدك في وضع علامة على التبعيات بشكل صحيح.

دليل التعبئة والتغليف متاح هنا.

سؤال جيد - لا أعرف الإجابة (وأعتقد أنه لا يوجد حل سهل وشامل)، ولكن هنا بعض النقاط التي يجب مراعاتها، من وجهة نظر مستخدم Linux.

أعتقد أن .tar.gz (أو .tar.bz2) ليس بالضرورة أن سيئة. يتم استخدام مستخدمي Linux لذلك، وتوزيع العديد من حزم البرامج التجارية بهذه الطريقة. غالبا ما يتفوق على تثبيت مثبت على طراز Windows إذا كانت النقطة الرئيسية هي فقط استخراج الملفات في موقع آخر.

بعض المستخدمين (ربما الكثيرين؟) قام المستخدمون بتثبيتهم خارج نظام إدارة الحزم، لذلك قد يكون تقديم RPM أو Deb فقط (الذي يعتمد على وجود JRE المثبتة ك RPM أو Deb) مشكلة. (شخصيا أفضل أن يكون لديك العديد من إصدارات JRE (JDK فعلا) مثبتة تحت /usr/local/java.) لذلك على الأقل النظر في تقديم حزمة ZIP / GZ / BZ2 جنبا إلى جنب مع الخيارات الأخرى.

أيضا، للتعرف على إنشاء حزم RPM من برنامج Java، نلقي نظرة على jpackage..

قد يكون لكل distro اتفاقياتها الخاصة حيث تذهب الملفات الشائعة.
في أوبونتو، تدخل الجرار Java المشتركة / USR / Share / Java. أشياء مثل commons-cli و liblog4j موجودة. إذا كنت تستخدم أي من هذه، فتأكد من أن Deb يعتمد على الحزمة المناسبة. إذا كانت المكتبة هي استخدام Outisde طلبك، ولكن ليس في Repos Ubuntu، فكر في وضعه في ديبه الخاص ويعتمد على ذلك. ستحتاج إلى إنشاء مجلد لممارسة الألعاب الخاصة بك في / USR / مشاركة / [اسم] / [اسم] / ثم قم بإنشاء برنامج نصي شل لإطلاق اللعبة. يجب وضع هذا البرنامج النصي في / USR / BIN (أو / USR / الألعاب) ويكون قابل للتنفيذ.

لا تنس أن تعتمد على حزمة Java المناسبة إما (أقترح حزم Sun-Java # -Jre "السبب GJC هي حماقة وفتح JDK ليست 100٪ هناك حتى الآن (على الأقل المعادن LAF هو FUBAR، وليس لدي تعرف عن أي شيء آخر حتى الآن.)

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