Android - هل من الممكن إنشاء مكتبة مخصصة لاستخدامها عبر العديد من التطبيقات؟

StackOverflow https://stackoverflow.com/questions/1828448

  •  11-09-2019
  •  | 
  •  

سؤال

هل من الممكن إنشاء مكتبة مخصصة في Android (وجود موارد تخطيط الخاصة بها) لاستخدامها عبر العديد من تطبيقات Android؟

  • لقد قمت بإنشاء ملف منتظم * .jar ولكن عندما حاولت إنشاء / نمط وجهات نظري بشكل حيوي معظم الخصائص لا تعمل. حتى الرجوع إلى أنماط بسيطة من ملف Android.jar مثل Android.Attr.ListSeparatViewStyle. لم تعمل.

  • قمت بإنشاء مشروع Android دون أي نشاط، وجود ملفات الموارد الخاصة به ثم أشار إلى هذا المشروع من مشروع Android آخر لاستخدامه في مسار البناء الخاص به. يبدو أن كل شيء يعمل بشكل جيد ولكن المحاكي يحتفظ بتحطم (مع عدم وجود رسالة خطأ ذات معنى في لوجود) عندما أحاول تشغيل المشروع.

هل فاتني شيء؟

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

المحلول

حسنا، أعتقد أن هناك طريقة للقيام بذلك (على الرغم من أنني لم أحاول ذلك بنفسي)، لكنها تتطلب وجود مستخدمي مكتبتك لإنشاء APK يدويا عبر aapt.

المشكلة هي هذه: جرة أنت تصدير تحتوي على R ملف فئة يحمل معرفات الموارد في مكتبتك. لذلك، يمكن لأي تطبيق الوصول إلى هذه المعايير ببساطة عن طريق ربط جرة الخاص بك. ومع ذلك، هذا ليس كافيا، لأنه افتراضي، يتم تجميع الموارد فقط في RES / مجلد التطبيق مع APK. وبالتالي، يجب عليك إنشاء APK بنفسك باستخدام AAPT، ويخبره أيضا بتضمين أي موارد من مكتبتك. تحقق من مساعدة أداة AATT للحصول على مزيد من المعلومات.

نظرا لأن هذا يعني أن مستخدمي مكتبتك يتعين عليهم تقديم عملية بناء يدوية (أو على الأقل تعديله)، فإنه يجعل تجربة سيئة.

نصائح أخرى

قد يكون متأخرا للرد ولكن وجدت هذا مثير للاهتمام.إعداد مشروع مكتبة

مشروع مكتبة Android هو مشروع تطوير يحمل شفرة المصدر والموارد المشتركة. يمكن لمشاريع تطبيق أندرويد الأخرى الرجوع إلى مشروع المكتبة، وفي وقت البناء، تشمل مصادرها المترجمة في ملفات .apk الخاصة بهم. يمكن لمشاريع التطبيقات المتعددة الرجوع إلى نفس مشروع المكتبة وأي مشروع تطبيق واحد يمكن الرجوع إلى مشاريع مكتبة متعددة.

إذا كانت لديك شفرة مصدر ومصادر مشتركة في مشاريع تطبيق متعددة، فيمكنك نقلها إلى مشروع مكتبة بحيث يكون من الأسهل الحفاظ على التطبيقات والإصدارات. فيما يلي بعض السيناريوهات الشائعة التي يمكنك من خلالها استخدام مشاريع المكتبة:

هل من الممكن إنشاء مكتبة مخصصة في Android (وجود موارد تخطيط الخاصة بها) لاستخدامها عبر العديد من تطبيقات Android؟

رقم الجرار لا يمكن أن يكون لها موارد. يمكنك مشاركة الكود بهذه الطريقة، لكن يجب على الموارد الإقامة في التطبيقات في إعادة استخدام الجرار.

حتى الرجوع إلى أنماط بسيطة من ملف Android.Jar مثل Android.attr.listsparatEvenStyStyle لم تنجح.

تأكد من أنك تربط جرة الخاص بك ضد Android.jar. يمكنك أن ترى العديد من الأمثلة على هذا في مكونات CWAC على بلدي صفحة جيثب.

هل هذا لا يزال صحيحا مع R21؟ أنا قادر على تصدير مشروع مكتبة إلى ملف جرة وتستخدم في مشاريع العملاء الأخرى بنجاح، كلاهما رمز الحكمة والوصول إلى ملف الأصول الحكيم.

بعد http://developer.android.com/tools/projects/index.html. لا يزال لديه البيان التالي الذي يبدو صحيحا بعد الآن:

لا يمكنك تصدير مشروع مكتبة إلى ملف جرة لا يمكن توزيع مكتبة كملف ثنائي (مثل ملف جرة). سيتم إضافة هذا في إصدار مستقبلي من أدوات SDK.

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